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

如何恢复分支?


当前回答

你可以使用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

其他回答

谢谢,这很有效。

Git分支new_branch_name sha1 Git checkout new_branch_name

//可以看到我的旧的检入文件在我的旧分支

如果你还没有推送删除,你可以简单地做:

$ git checkout deletedBranchName

如果你使用Jetbrains IDE(Goland, phpstorm等)的GUI删除了一个分支

git窗口(IDE的左下角)->控制台选项卡->现在你可以看到IDE执行命令的日志,并从这个日志中找到分支名称和SHA1

如果你正在使用IntelliJ IDEA,在事件日志中你会看到这样的东西:

并可能简单地恢复您的分支。

遵循以下步骤:

1:输入:

git reflog show 

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

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

git branch your-branch-name 8c87714