致命错误:不是一个git仓库(或任何父目录中的一个):.git

33

当我尝试将代码推送到Heroku时,出现了以下错误

fatal: Not a git repository (or any of the parent directories): .git

我试着跟着Ruby on Rails的教程书学习。

我认为我安装了客户端Heroku软件包(通过从Heroku网站下载并按照他们的安装说明进行GUI格式安装)。因此,我的客户端Heroku应该没问题(我是新手,所以不确定这个术语是否正确)。

然后我打开一个新终端并输入:

git push heroku master

我得到了

fatal: Not a git repository (or any of the parent directories): .git

谁能够熟练地解释一下我错过了哪一部分?例如,必须先移动到某个目录吗?

请给我展示命令,因为没有命令的话我可能还是不明白。

附言:我想我的 GitHub 中已经有存储库了。


1
Not a duplicate of it. - Jonathan Allard
你好;我在尝试获取CakePHP的DebugKit时遇到了相同的错误。我想通过问一个问题来加强它,为什么我需要在存储库中,当我理解的指令是我正在尝试从存储库中下载?换句话说,我只想要内容以便我可以使用它。但是...如果有必要创建存储库才能获取内容,为什么指令不会说明这一点呢?并不是我们所有人都熟悉“git”! - UncaAlby
UncaAlby你想使用 git clone <存储库路径> 命令,但在评论区大佬们看到之前,你可能会想把这个问题发到其他地方作为一个询问。人们会来回答你的。我相信一定有适合初学者的Git工作流程相关问题的答案。 - pjammer
9个回答

16

您当前不在git仓库目录中。

输入 pwd 命令,确保您所在的位置是正确的。有可能您在~/或者您认为自己在的目录的前面。 或者您现在所在的是C:/驱动器而非您想要的目录。若要从c盘切换到d盘,请使用此命令cd D:/,然后使用此命令ls查找您的文件。


1
要么如此,要么原始帖子从一开始就没有初始化存储库。 - user456814

14

5

更新于 2020 年 9 月

首先,您需要拥有一个 Git 仓库来创建一个 Heroku 应用程序。

git init
git add .
git commit -m "initial commit"
heroku create
git push heroku master

如何将你的代码上传到Heroku


3
请确保您已经按照Rails教程书中安装和设置章节的所有步骤进行操作。您收到的错误信息表明您可能错过了git init这一步骤。

1
这可能发生在你本意要执行 git clone 但却误执行了 git checkout 的情况下。

是的,完全正确,这件事情发生在我身上。 - undefined

1

0

这个错误是因为您试图从非克隆的工作副本中推送更改到您的git存储库。您是否在您正在工作的目录上初始化了git repo?如果没有,请使用git init初始化git repo,然后使用git clone或使用git remote add origin git@github.com:repourl.git添加远程。有关详细信息,请参阅this


0
如果您之前已经从本地提交了初始版本到 GitHub 远程仓库,或者之前已经从远程仓库拉取到本地,则您已经设置好了远程仓库。对我而言有效的方法是登录到我的远程 GitHub 仓库,然后这个错误就消失了,我就能够将本地的更改推送/拉取到远程仓库,反之亦然。

0

如果你在任何 Git 仓库之外运行像 gh pr list 这样的命令,那么这个错误将会发生在 Github CLI 客户端 gh 中。相反地,使用不需要在特定仓库中运行的命令,例如 gh search prs


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接