"fatal: Not a git repository (or any of the parent directories)" from git status

This command works to get the files and compile them:

git clone a-valid-git-url

for example:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

However, git status (or any other git command) then gives the above fatal: Not a git repository (or any of the parent directories) error.

What am I doing wrong?

420320 次浏览

你必须首先把光盘放到目录中:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.


$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

在我的例子中,我在使用 windows cmd 尝试任何 git 命令(例如 git status)时遇到了同样的问题。所以我要做的就是在为 windows < a href = “ https://windows.github.com/”rel = “ nofollow”> https://windows.github.com/安装 git 之后 in the environmental variables, add the class path of the git on the "PATH" varaiable. usually the git will installed on C:/user/"username"/appdata/local/git/bin add this on the PATH in the environmental variable

在 cmd 上还有一件事,去你的 git 仓库或 cd 到你的克隆人在你的窗口上的地方,通常他们会被存储在 github 下的文档中

cd Document/Github/yourproject

之后,您可以使用任何 git 命令

我还有个问题。我在一个 git 目录里,但是通过一个符号链接到了那里。我必须直接进入目录(即不通过符号链接) ,然后它工作得很好。

在我的案例中,是一个环境变量的 GIT_DIR,我添加了它来加快访问速度。

这也打破了我在 SourceTree 的所有本地回购协议: (

有时候是因为 ssh,所以你可以这样做:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

而不是:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

I just got this message and there is a very simple answer before trying the others. At the parent directory, type git init

这将初始化 git 的目录。然后 git addgit commit应该可以工作。

简单地说,在您克隆回购之后,您需要将 (更改工作目录) cd 到新的克隆文件夹中

git clone https://User_Name@bitbucket.org/Repo_Name.git


cd Repo_Name

在我的例子中,最初的存储库是空的。

因此,我不得不(在窗口中)输入:

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

检查存储库是否是空的:

git rev-parse --is-bare-repository
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

你必须“ cd Projone”

然后你可以检查状态。


起初很难注意到这一点的一个原因是,i,因为您创建了一个与您的计算机中已有相同名称的文件夹,并且您将项目克隆到该文件夹中,所以您必须再次更改目录


我突然得到一个错误,就像在我试图运行 git 命令的任何目录中一样:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

For me, turned out I had a hidden file .git on my Desktop with the content:

gitdir: ../../.git/modules/some-module

Removed that file and fixed.

当我尝试使用 走吧初始化 git 时,这个错误得到了解决

我的办公室网络也有同样的问题。 我 使用这个命令,但它不为我工作 网址, 就像这样: before $ git clone https://gitlab.com/omsharma/Resume.git

之后,我使用这个 URL: < code > $git 克隆 https://my_gitlab_user@gitlab.com/omsharma/resume.git 试试看。

如果现有的项目解决方案计划在 VS 代码中移动 TSF:

打开终端并运行以下命令:

  1. 在该文件夹(根目录)中初始化 git

    git init

  2. 添加 Git

    git add .

  3. 链接 您的 TSf/Git 到那个项目-{ url }替换为您的 Git 地址

    git remote add origin {url}

  4. 承诺 那些改变:

    git commit -m "initial commit"

  5. Push -我将代码推送到版本1,您可以为您的分支使用任何名称

    git push origin HEAD:Version1