我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$VARIABLEs之后):
git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git
我收到以下错误信息:
致命:不是一个git存储库(或任何父目录):.git
我如何通过这一步?
我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$VARIABLEs之后):
git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git
我收到以下错误信息:
致命:不是一个git存储库(或任何父目录):.git
我如何通过这一步?
当前回答
当我在文件系统上移动git项目的位置时,出现了这个问题。当我运行一些git命令时,错误发生了,例如:
$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis
我发现在/home/rospasta/path_old/gitprojecta/.travis/。Git的绝对路径的旧位置的项目被写入。手动更新新位置的路径为我解决了这个问题。
所以我的问题可能是也可能不是git问题,而是HTH。
其他回答
这也可能是由于权限。检查所有者/组权限,并确保您有足够的权限访问该数据。在我的例子中,我在一个所有权设置为root:root的回购中运行“git status”时遇到了这个错误。以根用户身份运行“git status”解决了我的问题。或者,如果您不希望用户/组所有权为root:root,则将repo更改为您可以访问的内容。
当我的客户Smartgit在我的.git/HEAD文件中放了一个换行符时,发生在我身上。删除空行可以解决这个问题。
我知道已经有很多答案了,但是如果你修改了一堆文件,你仍然害怕失去工作。
注:以上大部分解决方案对我来说都不适用。
我也遇到了同样的问题,所以我做了一个变通方案。
git clone <same project>
git checkout <to desired branch>//changed to respective branch
git branch // verify if you have same branch set
git pull
然后将.git目录复制到旧目录中(为了代码安全,请保存一份回购副本)。
执行git status,这将重新索引文件。你会让它重新工作的。
谢谢,希望能对一些人有所帮助。
在我的例子中,系统崩溃导致HEAD文件被损坏。本指南将展示如何修复该问题以及您可能遇到的其他问题。
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
我的问题是,对于我的操作系统的一些问题,我的本地存储库上的任何命令都以“fatal: Not a git repository(或任何父目录):.git”结尾,其中包括fsck命令。
问题是空的HEAD文件。
我能够找到我在.git/refs/heads中工作过的实际分支名称,然后我这样做:
echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD
它工作。