【问题标题】:Git fatal: cannot simplify commitGit致命:无法简化提交
【发布时间】:2014-12-01 20:41:25
【问题描述】:

我有一个已经提交了 2 个月的 repo。当我每天提交时,我似乎没有收到任何错误。但是我正在查看 git 日志,我看到第一个 git 日志(或者可能 git 无法看到超出该日志点)有这样的错误消息

:100755 100755 1948ac6... 2af905e... M  document.doc"
error: Could not read 190d54eb3278746a4e35fd4be82689eb4b1d20a8
fatal: cannot simplify commit cb0c2a3bf0a4ad665eb376b818bdcb0652a06eec (because of 190d54eb3278746a4e35fd4be82689eb4b1d20a8)

我尝试了以下建议:https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F

但我没有得到我想要达到的目标,无论推荐什么都对我的情况没有帮助。

【问题讨论】:

    标签: linux git


    【解决方案1】:

    此解决方案可以帮助您:

    备份您的 .git 目录,以防您在此过程中损坏更多内容。然后,放回您可用的最佳版本的包文件。

    对于每个损坏的包文件,运行:

    mv .git/objects/pack/pack-**yourpack**.pack oldpack
    git-unpack-objects -r < oldpack
    Run git fsck --full and git checkout again, give us the output.
    

    看起来现在您应该可以签出,但您必须运行 git checkout -f yourbranch,因为您的工作目录中有尚未提交的更改。但是,当您运行 git checkout -f 时,这些更改将会丢失。

    注意:This solution was sugested by @Chronial

    【讨论】:

    • 嗨,这对我不起作用,它说 oldpack 没有识别器损坏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2015-09-05
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2013-01-08
    • 2013-01-05
    相关资源
    最近更新 更多