3

我在合并到 master 的 GitHub 项目上有一个分支。然后我点击了 GitHub 上的“删除分支”按钮,并认为我已经准备好了。

原来我不是,我想恢复/重新激活分支。我没有删除本地存储库上的分支,git fetch/pull之后也没有运行任何分支。只需单击 GitHub 上的删除按钮。

想弄清楚下一步应该是什么。想git push从我的本地盒子里做,但不确定可能会产生什么影响,GitHub 上的远程仓库是否会抱怨一个死分支被带回来等等。

4

3 回答 3

4

如果你没有从本地机器上删除你的分支,并且你有权推送到 GitHub,你可以在 Github 上通过再次推送来恢复它

git checkout localBranchName
git push origin localBranchName

如果您从 Github 进行提取并不重要,git 不会删除您的本地分支,直到您明确告诉它这样做

git branch -D localBranchName

事实上,即使你已经移除了你的本地分支,如果你之前将它与 master 合并,你也可以在本地恢复它。在合并和从那里分支之前,您必须转到最后一次提交。例如这样的事情:

git checkout master
git checkout -b localBranchName
git reset --hard HEAD~1 ( 1 is the number of commits you want to undo )

第二个命令将创建一个指向您在 master 上的最后一次提交的新分支第三个命令将最后一次提交撤消(仅在该分支上)与 master 的合并。

您可以做的另一件事是使用“git reflog”。该命令非常有用,因为它会在您每次在分支和/或提交之间移动时显示。

于 2013-11-28T19:00:01.693 回答
1

现在看起来有一个“恢复分支”按钮代替了“删除分支”

于 2017-01-20T08:18:49.940 回答
0

转到您的提交列表。找到合并的提交,然后单击拉取请求编号(以 # 为前缀的编号)。这会将您引导到一个包含有关合并信息的页面和一个带有“恢复分支”标签的按钮。单击它,它会恢复。

于 2019-04-16T14:05:04.413 回答