致命的不是git存储库(或任何父目录).git 是我尝试在我的仓库上执行任何git操作时遇到的错误。 我对我的项目进行了一些更改,即repo然后我尝试git状态来查看我的更改并遇到此错误。我用Google搜索了这个错误,但没有取得任何进展。在尝试在repo之外的目录中执行git操作时,这个错误似乎是最常见的,这对我来说并非如此。 我还尝试检查 ./ git / HEAD 和 ./ git / logs / refs / heads 哪些是空文件。 ./git/logs/refs/remotes/origin/master也是空的。
从一开始就是这样:
答案 0 :(得分:14)
在我的情况下,意外.git/HEAD
文件搞乱了非未知字符,但.git/ORIG_HEAD
文件没问题(它有提交ID)。因此,我将.git/ORIG_HEAD
内容复制到.git/HEAD
文件。然后重新启动IDE(Aptana),一切正常。
答案 1 :(得分:6)
确保您当前会话中没有设置GIT_DIR
或GIT_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文件夹