我找到了一些关于如何通过使用恢复git分支的解决方案
我无法从删除的分支或任何删除此分支的历史记录中获得某些提交.
本地分支尚未合并到我的主分支中并被意外删除.有可能恢复吗?谢谢你的帮助!
你可以从:
git reflog | grep 'to branchname'
Run Code Online (Sandbox Code Playgroud)
这将匹配如下所示的reflog行:
219daf7 HEAD@{20}: checkout: moving from master to branchname
Run Code Online (Sandbox Code Playgroud)
您可以使用git checkout 219daf7环顾四周并确保它是正确的提交,或者我建议您使用tig浏览您的存储库,您可以使用它tig 219daf7来查看该提交的历史记录.(请记住,这git checkout会将条目添加到您的reflog中,而tig不会.)
一旦您满意就找到了正确的提交,您可以使用以下命令再次创建分支:
git checkout -b branchname 219daf7
Run Code Online (Sandbox Code Playgroud)
如果做不到这一点,你可以使用fsck方法:
git fsck --full --no-reflogs --unreachable --lost-found | grep commit
Run Code Online (Sandbox Code Playgroud)
这将列出任何已删除的提交:
unreachable commit 219daf70a24e635cd95c1493c341585bbf64a61d
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用与上面相同的方式使用提交ID.
| 归档时间: |
|
| 查看次数: |
821 次 |
| 最近记录: |