GIT致命:SHA 1碰撞发现

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

$ git pull
remote: Counting objects: 141, done.
remote: Compressing objects: 100% (90/90), done.
error: unable to unpack ff7fca002656ad848c44bf134088d638a01d5217 header
error: inflateEnd: stream consistency error (no message)
fatal: SHA1 COLLISION FOUND WITH ff7fca002656ad848c44bf134088d638a01d5217 !
fatal: index-pack failed
Unable to write to standard output: The pipe is being closed.

这是来自fsck:

$ git fsck
error: unable to unpack 024e257c1a13532e7d5579b0ea4bb5915d21e4a6 header
error: inflateEnd: stream consistency error (no message)
fatal: loose object 024e257c1a13532e7d5579b0ea4bb5915d21e4a6 (stored in super/sectet/path/to/repo/.git/objects/02/4e257c1a13532e7d5579b0ea4bb5915d21e4a6) is corrupt

对如何处理这件事有什么想法吗?基本上,我想得到任何在遥控器和推动我的少数提交在上面。

提问于
用户回答回答于

我认为回购被EGit或SourceTree(我并行使用)破坏了,与实际的哈希冲突无关。我解决了这个问题,正如评论中所建议的那样,我将遥控器克隆为一个新的回购程序,并复制我的更改。

用户回答回答于

我遇到了同样的问题,然后运行了:

git prune
git gc  

其中提到:

错误:引用/远程/原产地/ticketName的引用错误

所以我删除了引用,解决了这个问题:

rm .git/refs/remotes/origin/ticketName

扫码关注云+社区