git致命的不是git存储库(或任何父目录).git

时间:2013-09-22 18:53:07

标签: git github

致命的不是git存储库(或任何父目录).git 是我尝试在我的仓库上执行任何git操作时遇​​到的错误。 我对我的项目进行了一些更改,即repo然后我尝试git状态来查看我的更改并遇到此错误。我用Google搜索了这个错误,但没有取得任何进展。在尝试在repo之外的目录中执行git操作时,这个错误似乎是最常见的,这对我来说并非如此。 我还尝试检查 ./ git / HEAD ./ git / logs / refs / heads 哪些是空文件。 ./git/logs/refs/remotes/origin/master也是空的。

从一开始就是这样:

  • 我在一台计算机上的这个目录中创建了一个Android项目。
  • 我在这个目录上发了一个git并将它发布在github上。
  • 我按照通常的在线指南将这个回购拉到另外2个 计算机。
  • 在另一台计算机上进行了一些更改,将更改推送到了 回购。
  • 然后在原始计算机上我成功完成了更改。
  • 在几天没有处理该项目后,我做了一些更改 在原始计算机上,尝试git状态,这种情况发生了。

5 个答案:

答案 0 :(得分:14)

在我的情况下,意外.git/HEAD文件搞乱了非未知字符,但.git/ORIG_HEAD文件没问题(它有提交ID)。因此,我将.git/ORIG_HEAD内容复制到.git/HEAD文件。然后重新启动IDE(Aptana),一切正常。

答案 1 :(得分:6)

确保您当前会话中没有设置GIT_DIRGIT_WORK_TREE环境变量,这会指向不正确的文件夹。

有疑问,请尝试:

cd /path/to /your/repo
git --git-dir .git --work-tree . status

如果仍然失败,请至少尝试从GitHub再次克隆该repo,并在新的repo中添加您最近的更改:

cd /path/to/new/clone
git --git-dir .git --work-tree /path/to /your/repo add .

(继续在新的克隆中工作)

答案 2 :(得分:6)

我也有同样的问题。问题是我的git文件夹被UbuntuOne云服务同步。它通过添加附加u1conflict的文件搞乱了文件。我的.git / HEAD也被搞砸为.git / HEAD.u1conflict。

您是否在git上使用任何云协作服务? Dropbox,UbuntuOne等。有可能你的.git文件夹在同步过程中可能搞砸了。

答案 3 :(得分:0)

确保目录/存储库名称与原始名称没有任何更改。我只是处理了这个错误,这就是原因。

答案 4 :(得分:0)

git init解决了我的问题。实际上,没有任何.git文件夹