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

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

我收到以下错误信息:

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

我如何通过这一步?


当前回答

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

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

其他回答

GIT_DIR应取消设置:未设置GIT_DIR

当我在文件系统上移动git项目的位置时,出现了这个问题。当我运行一些git命令时,错误发生了,例如:

$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis

我发现在/home/rospasta/path_old/gitprojecta/.travis/。Git的绝对路径的旧位置的项目被写入。手动更新新位置的路径为我解决了这个问题。

所以我的问题可能是也可能不是git问题,而是HTH。

您是否初始化了一个本地Git存储库(这个远程存储库应该添加到其中)?

您的本地目录是否有一个。git文件夹?

试试git init。

$ git status
fatal: Not a git repository:

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

$ git init

我在父文件夹中做git分支,没有初始化git。git init并没有帮到我。 最后我意识到我在父文件夹中,并在子目录中执行cd,再次执行git分支,它工作了。 如果git初始化不工作,而您拥有所需的权限,那么您可能就是这种情况。 尝试更改目录,它将工作。