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

Git remote branch got deleted, how to resync local changes with new branch

我有一个远程分支 develop_1 我正在使用它。我所有的本地代码更改都提交给它,但我的领导不小心删除了那个远程分支。

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

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

but my lead has accidentally deleted that remote branch

如果在 GitHub 上,您可以使用“穷人的 reflog”,也就是 取回远程分支的 SHA1推送事件 (GitHub Events API).
请参阅“": look for any recent push events on the master branch: you can then fetch that commit(及其相关的历史记录)回到您的本地存储库。
如果没有,GitHub support 将查看以恢复您以前的内容。

然后需要强制推送以在远程端恢复相同的历史记录。

但更简单的是,如果您的本地更改是在已推送的内容之上完成的,则您不必创建新分支:将现有分支推送回去。

您是否 fork 了远程仓库,然后将其克隆到本地?

如果您在本地分支上有代码更改说 local_dev 并且您想推送到 develop_2 那么命令如下:

git push -u origin local_dev:develop_2 然后对主仓库提出拉取请求。

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

在您的本地分支 develop_1 中,您可以简单地创建新分支:

$ git checkout -b develop_2

推送您的更改,然后通过 运行:

使您的本地存储库保持同步
$ git fetch -p

-p用于prune删除本地分支,在这种情况下,旧的develop_1不存在远程了。