我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$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状态)使用windows cmd。所以我所做的是在环境变量中为窗口https://windows.github.com/安装git后,在“path”变量上添加git的类路径。通常git会安装在C:/user/"username"/appdata/local/git/bin上,在环境变量PATH中添加这个

在cmd上还有一件事,去你的git仓库或cd到你的克隆在你的窗口上,通常它们会存储在github cd Document/ github /yourproject下的文档中,之后你可以有任何git命令

$ git status
fatal: Not a git repository:

只需在你的cmd或git shell或任何其他终端中输入以下命令:

$ git init

在我的情况下,文件.git/HEAD已损坏(只包含点)。所以我编辑了它,并将其内容替换为:

ref: refs /包装/硕士学位

然后它又开始工作了。

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

注意:这并没有解决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)完全消失了。因此,如果你做重置,有一些变化,你想防止,我不确定你可以得到他们重置后再回来。因此,要确保所有不能丢失的更改都已备份,最终只需在尝试此操作之前复制副本即可。