我只是删除了错误的分支,我需要用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分支new_branch_name sha1 Git checkout new_branch_name

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

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

$ git checkout deletedBranchName

这招对我很管用:

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

首先:备份您的整个目录,包括.git目录。

第二:你可以使用git fsck——lost-found来获取丢失提交的ID。

第三:在丢失的提交上重新设置或合并。

第四:在git中使用-D或——force之前一定要三思:)

您还可以阅读这篇关于如何从此类错误中恢复的优秀讨论。

编辑:顺便说一下,不要运行git gc(或者允许它自己运行——也就是不要运行git fetch或类似的东西),否则你可能会永远失去你的提交。