“致命:不是 git 存储库(或任何父目录)”来自 git status
Posted
技术标签:
【中文标题】“致命:不是 git 存储库(或任何父目录)”来自 git status【英文标题】:"fatal: Not a git repository (or any of the parent directories)" from 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
目录下。
【参考方案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 add
和git 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:
打开终端并运行以下命令:
初始化该文件夹(根目录)中的 git
git init
添加 Git
git add .
链接您的 TSf/Git 到该项目 - url 替换为您的 git 地址
git remote add origin url
提交这些更改:
git commit -m "initial commit"
推送 - 我将代码推送为 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
试试吧。
【讨论】:
以上是关于“致命:不是 git 存储库(或任何父目录)”来自 git status的主要内容,如果未能解决你的问题,请参考以下文章
为啥 WCF 服务能够处理来自不同进程的调用而不是来自线程的调用
来自 viewDidAppear 的 Segue 调用有效,但不是来自 viewWillAppear