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

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

我收到以下错误信息:

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

我如何通过这一步?


当前回答

为此,您需要输入bitbucket命令中缺少的一个命令

请尝试git init。

其他回答

如果你运行

吉特状态

并查看文件被下载,然后删除或拒绝,开始检查这个方法一步一步,在每个部分再次检查目录:

1- git init     (perhaps you have not the right git directory)
2- git status   (see where are you and what happened in cloning)
3- git reset --hard HEAD~1 (lose all the last changes in locally committed by cloning process)

现在您已经回到了上一个HEAD。因为你使用了——很难,你的文件在克隆中最后提交时会重置到它们的状态。 再次检查项目文件夹

恢复.git/ORIG_HEAD和其他根.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命令,则会出现此错误。这是因为,默认情况下,Git会寻找一个。Git存储库目录(在项目根目录内?),正如我对“Git不会显示日志,除非我在项目目录中”的回答所指出的那样:

根据官方的Linux内核Git文档, GIT_DIR是[一个环境变量],用于查找.git目录(在当前目录中) 工作目录?) 如果设置了GIT_DIR环境变量,则它将指定要使用的路径,而不是默认的.git 存储库。

你要么需要cd到存储库/工作副本中,要么你没有初始化或克隆存储库,在这种情况下,你需要在你想放置repo的目录中初始化一个repo:

git init

或者克隆存储库

git clone <remote-url>
cd <repository>

在命令行/CLI中,如果当前目录不是存储库,则会出现此错误。所以,你必须先将CD放入回购。