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

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

我收到以下错误信息:

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

我如何通过这一步?


当前回答

对我来说,只有当一个人试图从非git目录(即从其他目录,这不是工作副本)执行git命令时,才会出现问题。

要修复此问题,请在git命令中添加-C <git dir> git status将变为git -C /dir/to/git status, git add -A将变为git -C /dir/to/git -A。

其他回答

也许太晚了,但另一个解决方案可能会帮助未来的游客。 首先删除旧的.git目录-

rm .git

然后重新初始化git repo

git init

注意:第一步会破坏保存在本地设备上的所有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

在你想要的文件夹中使用terminal/cmd点击git init。它会起作用的。

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