我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$VARIABLEs之后):

git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git

我收到以下错误信息:

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

我如何通过这一步?


当前回答

在我的例子中,系统崩溃导致HEAD文件被损坏。本指南将展示如何修复该问题以及您可能遇到的其他问题。

https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html

其他回答

对我来说,只有当一个人试图从非git目录(即从其他目录,这不是工作副本)执行git命令时,才会出现问题。

要修复此问题,请在git命令中添加-C <git dir> git status将变为git -C /dir/to/git status, git add -A将变为git -C /dir/to/git -A。

对我来说,这与我的.git/路径的畸形所有权有关。root拥有.git/HEAD和.git/index,阻止jenkins用户运行作业。

恢复.git/ORIG_HEAD和其他根.git回购文件

从备份恢复后,我得到了这个错误,显然。git目录根中包含的文件没有到目标,但所有的子文件夹都这样做了,起初我以为回购是完整的。

我通过恢复根文件来修复它。

在我的例子中,我使用了Tortoise SVN,并犯了同时使用Visual Studio GIT函数的错误。这使得Visual Studio将HEAD文件锁定在。git文件夹中,因此VS和Tortoise都无法访问repo,我从两个应用程序中都得到了“fatal: Not a git repo…”错误。

解决方案:

进入。git文件夹并重命名“HEAD. git”。锁定"到"HEAD" 决定使用一个GIT管理应用程序,不要使用另一个

我有这个问题,并通过添加README修复了它。md文件