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

如何恢复分支?


当前回答

如果你通过源树删除了一个分支,你可以通过查看>显示命令历史很容易找到被删除分支的SHA1。

它应该有下面的格式:

Deleting branch ...
...
Deleted branch %NAME% (was %SHA1%)
...

然后按照原来的答案。

branch branch <sha1>

其他回答

如果你通过源树删除了一个分支,你可以通过查看>显示命令历史很容易找到被删除分支的SHA1。

它应该有下面的格式:

Deleting branch ...
...
Deleted branch %NAME% (was %SHA1%)
...

然后按照原来的答案。

branch branch <sha1>

遵循以下步骤:

1:输入:

git reflog show 

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

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

git branch your-branch-name 8c87714

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

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

如果你刚刚删除了分支,你会在终端中看到如下内容:

Deleted branch branch_name(was e562d13)

其中e562d13是一个唯一的ID(也就是“SHA”或“散列”),使用这个可以恢复已删除的分支。

要恢复分支,使用:

git checkout -b <branch_name> <sha>

例如:

git checkout -b branch_name e562d13 

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

git branch branchName <SHA1>

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