我正在遵循这个教程。一切都很好,直到我在我的本地机器上运行这个(在用它们的实际值替换$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
我如何通过这一步?
当前回答
我的问题是,对于我的操作系统的一些问题,我的本地存储库上的任何命令都以“fatal: Not a git repository(或任何父目录):.git”结尾,其中包括fsck命令。
问题是空的HEAD文件。
我能够找到我在.git/refs/heads中工作过的实际分支名称,然后我这样做:
echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD
它工作。
其他回答
我刚刚在我的目录下重新初始化了git
git init
这个方法奏效了
您是否初始化了一个本地Git存储库(这个远程存储库应该添加到其中)?
您的本地目录是否有一个。git文件夹?
试试git init。
GIT_DIR应取消设置:未设置GIT_DIR
在我的情况下,文件.git/HEAD已损坏(只包含点)。所以我编辑了它,并将其内容替换为:
ref: refs /包装/硕士学位
然后它又开始工作了。
我到达这个问题是因为遇到了错误消息
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