我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$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_DIR应取消设置:未设置GIT_DIR
其他回答
如果您尝试在当前工作目录不在Git存储库中时使用Git命令,则会出现此错误。这是因为,默认情况下,Git会寻找一个。Git存储库目录(在项目根目录内?),正如我对“Git不会显示日志,除非我在项目目录中”的回答所指出的那样:
根据官方的Linux内核Git文档, GIT_DIR是[一个环境变量],用于查找.git目录(在当前目录中) 工作目录?) 如果设置了GIT_DIR环境变量,则它将指定要使用的路径,而不是默认的.git 存储库。
你要么需要cd到存储库/工作副本中,要么你没有初始化或克隆存储库,在这种情况下,你需要在你想放置repo的目录中初始化一个repo:
git init
或者克隆存储库
git clone <remote-url>
cd <repository>
我有这个问题,并通过添加README修复了它。md文件
在我的案例中,我发现窗口中的git从某种程度上对驱动器号变得区分大小写。
升级后的git二进制在windows cli命令,用来工作停止。 例如,脚本中的路径是D:\bla\file.txt,而git命令只接受D:\bla\file.txt
我知道已经有很多答案了,但是如果你修改了一堆文件,你仍然害怕失去工作。
注:以上大部分解决方案对我来说都不适用。
我也遇到了同样的问题,所以我做了一个变通方案。
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,这将重新索引文件。你会让它重新工作的。
谢谢,希望能对一些人有所帮助。
注意:这并没有解决OP的问题,而是解决了可能出现错误消息的不同问题。我不想为了写下这个答案而做新的问题,告诉我是否应该这样做:P
我遇到了这种情况,很可能是由于某些崩溃的损坏,即使.git存在,我也得到了这个错误。
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG config* FETCH_HEAD HEAD index logs/ modules/ objects/ ORIG_HEAD packed-refs
因为我没有什么真正需要保存的东西,我只是用了一种虚拟的方式,然后……
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/
仍然不能工作,例如,git日志返回致命:糟糕的默认修订'HEAD'。虽然遥控器在那里,所以我做了git取回——所有,然后只是git重置——硬起源/主,让自己回到回购之前的状态。
注意,如果有一些未提交的更改,你可以通过git status、git diff等查看它们。然后在运行重置之前,git diff你的文件>补丁。
至少对我来说reflog (git reflog)完全消失了。因此,如果你做重置,有一些变化,你想防止,我不确定你可以得到他们重置后再回来。因此,要确保所有不能丢失的更改都已备份,最终只需在尝试此操作之前复制副本即可。