修复一个破碎的git repo - 如何重新开始

时间:2011-05-02 16:20:59

标签: git repository

我有点像git的新手,并对我的回购工作如何工作感到沮丧..或者在这种情况下不工作..所以我从git hub删除了它,删除了项目上的git文件夹并且计划重新开始。

现在,当我尝试设置一个新的回购时,我收到了很多消息,如:

warning: You appear to be on a branch yet to be born.
warning. Forcing checkout of HEAD

当我尝试运行第一次提交时,我看到了:

error: invalid object 8bcb4b5fd612e3ad55fb07e4bed087c55afd0861
fatal: git-write-tree: error building trees

我跑了git fsck,看到我错过了一堆blob。

我怎样才能擦干石板并再试一次?

1 个答案:

答案 0 :(得分:6)

好的,

  1. 有备份
  2. git clean -dfx。
  3. mv .git / tmp / _git.backup
  4. git init
  5. git add。
  6. git commit -m'救援行动后重新开始回购'
  7. 请注意clean步骤,该步骤会阻止许多以前未跟踪的内容被添加到新的repo中。一个好的.gitignore可以防止这样的影响。

    如果需要,您可以手动迁移部分/全部旧配置,例如

     vim -d _git.backup/config .git/config
    

    (或简单地复制)

    我不会详细介绍有关潜在远程克隆/分支的影响:)

    有很多方法可以协调这样的事情,但就目前来说,这似乎回答了你的问题。