我只是删除了错误的分支,我需要用git branch -D branchName进行一些实验更改。

如何恢复分支?


当前回答

遵循以下步骤:

1:输入:

git reflog show 

这将显示所有的提交历史,你需要选择你想要返回的最后一次提交的sha-1

2:使用您选择的Sha-1 ID创建一个分支名称,例如:8c87714

git branch your-branch-name 8c87714

其他回答

如果您知道分支的最后一个SHA1,您可以尝试一下

git branch branchName <SHA1>

您可以使用git reflog找到SHA1,在解决方案—缺陷链接—中有描述。

这招对我很管用:

git fsck --full --no-reflogs --unreachable --lost-found
git show d6e883ff45be514397dcb641c5a914f40b938c86
git branch helpme 15e521b0f716269718bb4e4edc81442a6c11c139

遵循以下步骤:

1:输入:

git reflog show 

这将显示所有的提交历史,你需要选择你想要返回的最后一次提交的sha-1

2:使用您选择的Sha-1 ID创建一个分支名称,例如:8c87714

git branch your-branch-name 8c87714

你可以使用git reflog找到分支最后一次提交的SHA1。从这一点开始,您可以使用

git branch branchName <sha1>

编辑:正如@seagullJS所说,分支-D命令告诉你sha1,所以如果你还没有关闭终端,它变得非常容易。例如,它删除并立即恢复一个名为master2的分支:

user@MY-PC /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba).    <-- This is the SHA1 we need to restore it!

user@MY-PC /C/MyRepo (master)
$ git branch master2 130d7ba

首先,不要惊慌。你来对地方了。 继续,冠军,我们都会犯错!这就是我们学习的方式! 祝你健康、快乐、成功!

哦,等待答案!我想你已经知道了!

如果不是!这就是答案。

use git reflog
git checkout branch branch_name commitsha

为了进一步说明,在第二个命令中,branch_name是您想要给分支指定的名称。Commitsha是您要检查的sha号码。你可以从git reflog命令中获得。

再次快乐编码!