【问题标题】:"fatal: Not a git repository (or any of the parent directories)" from git status“致命:不是 git 存储库(或任何父目录)”来自 git status
【发布时间】:2012-08-11 07:02:48
【问题描述】:

此命令用于获取文件并编译它们:

git clone a-valid-git-url

例如:

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

但是,git status(或任何其他 git 命令)随后会给出上述fatal: Not a git repository (or any of the parent directories) 错误。

我做错了什么?

【问题讨论】:

  • 签出代码在liggghts目录下。

标签: git repository clone git-clone git-status


【解决方案1】:

你必须先实际 cd 进入目录:

$ 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)

【讨论】:

  • 当 git 处理它自己的 .git 目录时,您也会收到此错误。我拉了一下,看到消息“在后台自动打包存储库以获得最佳性能”。然后我尝试做更多的操作,只得到 OP 的错误信息。我的 .git 文件夹仍然存在,但 git 以某种方式损坏了它。运行git init 解决了这个问题。
  • 我多么愚蠢。在进入目录之前尝试 git status :) 非常感谢。
【解决方案2】:

我刚收到这条消息,在尝试其他消息之前有一个非常简单的答案。在父目录中,输入git init

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

【讨论】:

  • 克隆之前还是之后?这会创建一个新的 git repo 吗?这将如何与现有的 git repo 和克隆的历史一起工作?在这种安排下,原来的remote 设置会发生什么变化?
【解决方案3】:

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

这也破坏了我在 SourceTree 中的所有本地存储库:(

【讨论】:

    【解决方案4】:

    有时是因为 ssh。所以你可以使用这个:

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

    代替:

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

    【讨论】:

    • 我只是在尝试将存储库克隆到我的本地计算机时遇到错误。我使用 https:// 切换到 git:// 并成功克隆。感谢您为我指明了正确的方向。
    【解决方案5】:

    在我的情况下,当我使用 windows cmd 尝试任何 git -- 命令(例如 git status)时,我遇到了同样的问题。所以我要做的是在为窗口https://windows.github.com/ 安装 git 之后 在环境变量中,在“PATH”变量中添加 git 的类路径。通常 git 会安装在 C:/user/"username"/appdata/local/git/bin 上,在环境变量的 PATH 中添加这个

    cmd 上的另一件事是转到您的 git 存储库或 cd 到您的克隆在您的窗口上的位置,通常它们将存储在 github 下的文档中

    cd Document/Github/yourproject
    

    之后你可以使用任何 git 命令

    【讨论】:

      【解决方案6】:

      我遇到了另一个问题。我在一个 git 目录中,但通过符号链接到达那里。我必须直接进入目录(即不通过符号链接)然后它工作正常。

      【讨论】:

        【解决方案7】:
        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”

        然后你可以检查状态。


        一开始很难注意到的一个原因,我是因为您已经在计算机中创建了一个同名的文件夹,并且您将项目克隆到该文件夹​​中,因此您必须再次更改目录


        【讨论】:

          【解决方案8】:

          当我尝试使用 git init 初始化 git 时,此错误得到解决。成功了

          【讨论】:

            【解决方案9】:

            如果现有项目解决方案计划在 VS Code 中迁移到 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. 推送 - 我将代码推送为 version1,您可以为您的分支使用任何名称

              git push origin HEAD:Version1

            【讨论】:

              【解决方案10】:

              在我的情况下,原始存储库是一个空的。

              所以,我必须输入(在 Windows 中):

              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 
              

              【讨论】:

                【解决方案11】:

                简单地说,在克隆 repo 后,您需要 cd (更改当前目录) 到新的克隆文件夹

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

                【讨论】:

                  【解决方案12】:

                  我突然在任何目录中遇到错误,例如我试图从以下目录运行任何 git 命令:

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

                  对我来说,原来我的桌面上有一个隐藏文件.git,内容如下:

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

                  删除该文件并修复。

                  【讨论】:

                    【解决方案13】:

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

                    之后我使用这个网址:$ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git 试试吧。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-12-23
                      • 1970-01-01
                      • 1970-01-01
                      • 2021-12-12
                      • 2012-09-03
                      • 2017-02-08
                      • 1970-01-01
                      相关资源
                      最近更新 更多