我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$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/ORIG_HEAD和其他根.git回购文件
从备份恢复后,我得到了这个错误,显然。git目录根中包含的文件没有到目标,但所有的子文件夹都这样做了,起初我以为回购是完整的。
我通过恢复根文件来修复它。
其他回答
这也可能是由于权限。检查所有者/组权限,并确保您有足够的权限访问该数据。在我的例子中,我在一个所有权设置为root:root的回购中运行“git status”时遇到了这个错误。以根用户身份运行“git status”解决了我的问题。或者,如果您不希望用户/组所有权为root:root,则将repo更改为您可以访问的内容。
我有这个问题,并通过添加README修复了它。md文件
也许太晚了,但另一个解决方案可能会帮助未来的游客。 首先删除旧的.git目录-
rm .git
然后重新初始化git repo
git init
注意:第一步会破坏保存在本地设备上的所有git元数据,git会“重新”启动,所以只有在最后的时候才会求助于这个答案。
我在父文件夹中做git分支,没有初始化git。git init并没有帮到我。 最后我意识到我在父文件夹中,并在子目录中执行cd,再次执行git分支,它工作了。 如果git初始化不工作,而您拥有所需的权限,那么您可能就是这种情况。 尝试更改目录,它将工作。
我知道已经有很多答案了,但是如果你修改了一堆文件,你仍然害怕失去工作。
注:以上大部分解决方案对我来说都不适用。
我也遇到了同样的问题,所以我做了一个变通方案。
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,这将重新索引文件。你会让它重新工作的。
谢谢,希望能对一些人有所帮助。