我只是删除了错误的分支,我需要用git branch -D branchName进行一些实验更改。
如何恢复分支?
我只是删除了错误的分支,我需要用git branch -D branchName进行一些实验更改。
如何恢复分支?
当前回答
谢谢,这很有效。
Git分支new_branch_name sha1 Git checkout new_branch_name
//可以看到我的旧的检入文件在我的旧分支
其他回答
如果您知道分支的最后一个SHA1,您可以尝试一下
git branch branchName <SHA1>
您可以使用git reflog找到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
首先:备份您的整个目录,包括.git目录。
第二:你可以使用git fsck——lost-found来获取丢失提交的ID。
第三:在丢失的提交上重新设置或合并。
第四:在git中使用-D或——force之前一定要三思:)
您还可以阅读这篇关于如何从此类错误中恢复的优秀讨论。
编辑:顺便说一下,不要运行git gc(或者允许它自己运行——也就是不要运行git fetch或类似的东西),否则你可能会永远失去你的提交。
如果你通过源树删除了一个分支,你可以通过查看>显示命令历史很容易找到被删除分支的SHA1。
它应该有下面的格式:
Deleting branch ...
...
Deleted branch %NAME% (was %SHA1%)
...
然后按照原来的答案。
branch branch <sha1>