我找到了一些关于如何使用
恢复git分支的解决方案我无法从已删除的分支或任何删除此分支的历史记录中获得某些提交。
本地分支尚未合并到我的主分支中并被意外删除。有可能恢复吗?谢谢你的帮助!
答案 0 :(得分:6)
你可以从:
开始git reflog | grep 'to branchname'
这将匹配如下所示的reflog行:
219daf7 HEAD@{20}: checkout: moving from master to branchname
您可以使用git checkout 219daf7
来查看并确保它是正确的提交,或者我建议tig浏览您的存储库,您可以使用tig 219daf7
查看来自的历史记录提交。 (请记住git checkout
会在您的reflog中添加条目,而tig
则不会。)
一旦您对找到正确的提交感到满意,您可以使用以下内容再次创建分支:
git checkout -b branchname 219daf7
如果失败,你可以使用fsck方法:
git fsck --full --no-reflogs --unreachable --lost-found | grep commit
这将列出所有已删除的提交:
unreachable commit 219daf70a24e635cd95c1493c341585bbf64a61d
然后,您可以按照与上述相同的方式使用提交ID。