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

xya*_*als 10 git github

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

所以从一开始:

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

Ikr*_*rom 14

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

  • 当我在计算机崩溃后在 .git/HEAD 文件中看到一堆 NULL 字符时,我遇到了这个问题。我注意到的第一个症状是在看到“'git log' failed with code 128: fatal: Not a git repository ...”消息后,历史中的所有内容都完全丢失了。这个平稳的举动恢复了东西。 (2认同)

Von*_*onC 6

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

有疑问,试试:

cd /path/to /your/repo
git --git-dir .git --work-tree . status
Run Code Online (Sandbox Code Playgroud)

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

cd /path/to/new/clone
git --git-dir .git --work-tree /path/to /your/repo add .
Run Code Online (Sandbox Code Playgroud)

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


Bha*_*aaj 6

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

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