Git远程分支已删除,如何与新分支重新同步本地更改

时间:2018-07-13 04:30:00

标签: git github git-branch

我使用了一个名为 develop_1 的远程分支。我所有的本地代码更改都已提交给我,但是我的领导不小心删除了该远程分支。

我在本地系统中进行了所有这些代码更改。现在,我想将所有更改推回到新的远程分支中的同一Git存储库,例如 develop_2

如何创建新分支,同步本地更改并将其推送到远程?

3 个答案:

答案 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然后针对主存储库提出拉取请求。

如果您可以直接访问远程仓库,则直接将更改推送到远程仓库。无需提出拉取请求