在运行git fsck --full --strict命令时,我们遇到以下问题:
error: sha1 mismatch ced885d12a0677f2db9025e1e684c72e67283fcd
error: ced885d12a0677f2db9025e1e684c72e67283fcd: object corrupt or missing
error: sha1 mismatch cf5a1546bd2de5611eaf6136fb5ca02b4e358bec
error: cf5a1546bd2de5611eaf6136fb5ca02b4e358bec: object corrupt or missing
error: sha1 mismatch cf5d9d5723014921370de479c54a73230c86a981
error: cf5d9d5723014921370de479c54a73230c86a981: object corrupt or missing
error: sha1 mismatch cf675ce5bc5eeb5937441c6a02976cf2fa40076b
error: cf675ce5bc5eeb5937441c6a02976cf2fa40076b: object corrupt or missing
error: sha1 mismatch cf7c5156cf127eb7141505946df51b2b57925a50
error: cf7c5156cf127eb7141505946df51b2b57925a50: object corrupt or missing
dangling commit 3468455f0d9d055bbe957744aa10e670469d3912
dangling commit daeec54632203157a70bae93b9d7c3290820c2f9
(more dangling commit messages)(注意:我并不真正关心那些悬空的提交消息。我关注的是sha1失配问题。
我对此消息的解释是,git从有效负载中重新计算sha1,但是发现了一个不同于指定对象的sha1。存储库中没有缺少对象(我检查了w/ git cat文件)。
奇怪的是,如果我再次运行命令,我仍然有sha1消息,但是对于不同的对象:
error: sha1 mismatch 1452752024456a509540591c4879b3e3534f457e
error: 1452752024456a509540591c4879b3e3534f457e: object corrupt or missing
error: sha1 mismatch 16e08310d7182e97092d2783c911dbcf66538238
error: 16e08310d7182e97092d2783c911dbcf66538238: object corrupt or missing
dangling commit 3468455f0d9d055bbe957744aa10e670469d3912注意:存储库在两次运行之间没有更改。
我们正在运行Linux,当前的git版本是:
$git --version
git version 1.7.2.2.170.g5c7f2错误出现在以前的版本(1.6.5.rc2.18.g6d8b)中。这些git是用gcc 3.4.4从源头建造的。
但是,当我在另一个主机上复制存储库时,git fsck报告根本没有问题。那里的git版本是1.7.2.1 (由Fedora提供)。
我提出了以下意见:
,
git gc不抱怨的行为。
迄今为止的假设:
我们怎样才能解决这个问题?
发布于 2011-02-27 19:40:59
一定是硬件出了问题。
https://stackoverflow.com/questions/3576621
复制相似问题