如果我运行git branch -d XYZ,有没有办法恢复分支?有没有办法像我没有运行删除分支命令一样返回?
git branch -d XYZ
是的,您应该能够git reflog --no-abbrev在已删除分支的尖端找到提交的 SHA1,然后只需git checkout [sha]. 一旦你完成了那个提交,你就可以git checkout -b [branchname]从那里重新创建分支。
git reflog --no-abbrev
git checkout [sha]
git checkout -b [branchname]
感谢@Cascabel 获得这个浓缩/单线版本和@Snowcrash 如何获得 sha。
如果您刚刚删除了分支,您将在终端中看到类似的内容Deleted branch <your-branch> (was <sha>)。然后<sha>在这个单行中使用它:
Deleted branch <your-branch> (was <sha>)
<sha>
git checkout -b <your-branch> <sha>