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

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

我收到以下错误信息:

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

我如何通过这一步?


当前回答

git为be工作正常,突然它开始显示这个致命的:Not a git repository(或任何父目录):.git消息。

对于我不确定在。git文件夹中损坏了什么,我做了git克隆** newfolder,并将整个。git文件夹复制到我的损坏/旧文件夹中,在git开始显示错误消息之前,我正在进行更改。

一切都恢复正常,git也识别出我更改/未分级的文件。

其他回答

当你看到这个试图推到github,你可能必须在github初始化这个回购:https://github.com/new。

我有同样的问题,而我尝试任何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/路径的畸形所有权有关。root拥有.git/HEAD和.git/index,阻止jenkins用户运行作业。

我知道已经有很多答案了,但是如果你修改了一堆文件,你仍然害怕失去工作。

注:以上大部分解决方案对我来说都不适用。

我也遇到了同样的问题,所以我做了一个变通方案。

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,这将重新索引文件。你会让它重新工作的。

谢谢,希望能对一些人有所帮助。

我到达这个问题是因为遇到了错误消息

fatal: not a git repository: '~/repos/abc'

因为我担心git版本之间有一些不兼容(幸运的是没有),

我在这里读到的答案没有一个是我的情况的解决方案,我发现其中一些答案是危险和误导性的。

我得到了这个错误,因为我将一个存储库从OpenBSD移动到Linux,但这可能只通过改变shell就会发生,在OpenBSD中,我使用(在.kshrc中使用ksh)来调用git(注意路径中的~/形式):

alias git-abc='git --git-dir=~/repos/abc --work-tree=~/Development/abc'

在OpenBSD和ksh中,它使用该语法来定义别名,而在linux和bash中,在这样完全相同的别名定义中引用的~在别名被调用时不会扩展,我通过删除别名定义中的引号来解决。

alias git-abc=git --git-dir=~/repos/abc --work-tree=~/Development/abc