GIT:致命错误: 'master'似乎不是git仓库

10
我正在将我的主分支推送到GIT仓库时遇到了错误。
  fatal: 'master' does not appear to be a git repository

在一个栈问题的建议下,我输入了以下内容:

  git remote -v

并获得了

  heroku    https://git.heroku.com/peaceful-cove-8372.git (fetch)
  heroku    https://git.heroku.com/peaceful-cove-8372.git (push)
  origin    https://github.com/SimonWalsh1000/breathe.git (fetch)
  origin    https://github.com/SimonWalsh1000/breathe.git (push)

我随后输入了
   simonalice$ git push -u origin master

而且它可以工作,但显示了以下内容。
   Branch master set up to track remote branch master from origin.

我对GIT完全不熟悉,也不确定发生了什么事情。如果有人能够向我解释这个过程,我将非常感激。我一直没有得到清晰的答案。我的主分支现在是GIT中的主分支还是某个克隆?

非常感谢。


我的猜测是你最初运行了 git push master,Git将其解释为请求将当前分支推送到名为 master 的远程,而不是将分支 master 推送到其默认远程的请求。 - chepner
我认为你是正确的。我该如何将一切恢复到应有的状态?根据上面的最后一个回复 - 分支主设置为跟踪来自原点的远程分支主 - 这是否意味着我的计算机和GIT上的主分支是同一件事?如果不是,我该如何解决这个问题? - GhostRider
不,这只是意味着从现在开始(假设master已经被检出),git push将会像git push origin master一样运行。也就是说,除非你指定一个不同的远程仓库,否则本地分支master将被推送到origin。如果你愿意,你可以随时覆盖它,例如,使用git push heroku来将其推送到heroku而不是origin。我认为你没有需要修复的东西。 - chepner
2个回答

8

我在执行 git pull <branch> 时遇到了同样的错误,通过将其更改为 git pull origin <branch>,我解决了这个问题。


6

它可以正常工作,但是显示:

分支master已设置为跟踪来自origin的远程分支master。

执行git config --local -l

您将看到本地分支master设置为跟踪上游分支origin/master (upstream branch)

请参见“git checkout --track origin/branch和git checkout -b branch origin/branch之间的区别”。

这就像您做了以下操作:

git config branch.master.remote origin
git config branch.master.merge refs/heads/branch

第一个推送需要上游信息:请参见“为什么我需要明确推送新分支?”(Why do I need to explicitly push a new branch?)。

1
帮了很大的忙(尤其是你提供的链接) - GhostRider

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