如何撤消' git update-ref -d refs / heads / master'?

时间:2018-04-27 12:25:45

标签: git undo

我正在尝试重复的git过滤器分支,其中留下了最后一条消息refs/heads/master is unchanged。我读到这是因为备份已经存在所以我不得不摆脱它。所以我运行了git update-ref -d refs/heads/master,现在没有任何提交,我似乎无法撤消这一点。有什么建议?

1 个答案:

答案 0 :(得分:2)

我设法通过阅读this Stack Overflow question以及评论中的后续链接来解决此问题: Recovering Git repository from objects only

  1. 使用git fsck查找悬空提交哈希值列表

  2. vim到您的.git/refs/heads/master这只是一个文本文件,并输入代表您最新的master提交的可疑哈希值。

  3. 保存并返回根目录以检查git日志以查看它是否是您的最新信息。如果没有,那么系统地通过步骤1中的哈希,直到找到它。

  4. 找到它git checkout .后,git恢复到主分支的原始状态