我使用了一个名为 develop_1 的远程分支。我所有的本地代码更改都已提交给我,但是我的领导不小心删除了该远程分支。
我在本地系统中进行了所有这些代码更改。现在,我想将所有更改推回到新的远程分支中的同一Git存储库,例如 develop_2 。
如何创建新分支,同步本地更改并将其推送到远程?
答案 0 :(得分:1)
在本地分支机构 develop_1 中,您可以简单地创建新分支机构:
$ git checkout -b develop_2
推送您的更改,然后通过运行以下命令来保持本地仓库同步:
$ git fetch -p
-p
用于prune
删除本地分支,在这种情况下,是远程不再存在的旧 develop_1 。
答案 1 :(得分:0)
但是我的潜在客户不小心删除了该远程分支
如果这是在GitHub上,则可以使用“ 可怜的人的记录”(又称为 push事件({{3} })。
请参阅“ GitHub Events API”:在master
分支上查找任何最近的推送事件:Does github remember commit IDs?(及其关联的历史记录)回到本地存储库。
如果没有,you can then fetch that commit将会进行外观以恢复您以前的内容。
然后需要强制推送以在远程端恢复相同的历史记录。
但是更简单的是,如果您在已推送的内容的基础上进行了本地更改,则不必创建新分支:将现有分支推回。
答案 2 :(得分:0)
您是否分叉了远程存储库,然后将其克隆到本地?
如果您在本地分支上进行了代码更改,请说local_dev
,而您想推送到develop_2
,则命令应类似于:
git push -u origin local_dev:develop_2
然后针对主存储库提出拉取请求。
如果您可以直接访问远程仓库,则直接将更改推送到远程仓库。无需提出拉取请求