GIT致命:未能阅读对象

时间:2017-05-29 18:04:24

标签: git github

我是GIT的初学者,现在我遇到了一个大问题。我承诺并在另一台PC上推送一些文件,现在我的家用电脑上的git坏了。

请看下面:

class UploadExcelController {

static responseFormats = ['json', 'xml']


def save(UploadExcelCommand cmd) {

    if( cmd.hasErrors() ) {
        render 404
        return
    }

    if( Excel.get(cmd.year) ){
        render 404
        return
    }

    println cmd.year
    println cmd.excelFile.inputStream

    render "OK"
}

和最后一个:

$ git status
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument


$ git commit -m "test"
fatal: failed to read object feb4df55618847c02cb13d334fdac4a313701aed: Invalid argument

$ git pull
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument

$ git add .
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument

修理我的git是否有可能?

最诚挚的问候!

修改 只需删除.git文件夹即可。 更改项目文件夹的名称 从github克隆 从我的旧文件夹中添加新文件。

我可以这样做因为我只添加了新文件而没有对代码进行任何更改。

2 个答案:

答案 0 :(得分:1)

首先是问题,你面临的是git存储库损坏。许多人可能面临奇怪的事情,这是笔记本电脑或PC断电造成的原因之一。

您可以遵循某些步骤来帮助您解决问题:

STEPS

  1. 您可以做的是替换.git / refs / heads / my-working-branch" with ".git / logs / HEAD中的对象并提交成功的对象。

  2. 在步骤1之后,您的git status -s和其他命令恢复正常,您可以使用gitk或其他gui工具,或只是git log会显示提交。

  3. 然后使用git fsck --full命令查看是否与错误标题相同。 如果您发现了问题,则需要在.git / objects /" .

  4. 中删除问题
  5. 然后重复步骤3,直到标题没有错误,此Git修复完成。
  6. 有关修复损坏或损坏的GIT仓库的详细信息。

    Fixing broken GIT repo.

答案 1 :(得分:0)

我正在得到这个:

$ git reset --hard
fatal: failed to read object d4578a93fd08f3b338937e33d75da98d9bf94d58: Input/output error

我使用了Dropbox帐户上的Dropbox Rewind高级功能,可以将整个文件夹恢复到上一次运行正常的状态。显然,其中包括.git文件夹以及我的Android应用代码/项目中的所有内容。

enter image description here

此Dropbox倒带高级功能很棒。显然,那些因断电或类似原因导致的Git存储库损坏问题比我想象的要普遍(https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html)。