Git:致命的:当前分支主控有多个上游分支,拒绝推送

我有这个奇怪的问题,每当我做git push它拒绝做任何事情:

fatal: The current branch master has multiple upstream branches, refusing to push.

当我做git push -u origin master时候,似乎把它设置为跟踪分支:

Branch master set up to track remote branch master from origin.

但下一次我尝试git push它拒绝再次这样做。 我试图谷歌,但似乎这个问题是相当新的,我无法find任何解释这种行为。 想法?

更新: ./git/config

 [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = gitosis@xxxx.xx:milk.git [branch "master"] remote = origin merge = refs/heads/master 

更新2:解决与git config remote.origin.push HEAD下面的行出现在.git/config[remote "origin"]部分:

  push = HEAD 

UPDATE3:

 $ git branch -vv billing 633c796 [origin/billing: behind 889] links * master 1a0de50 [origin/master: ahead 1] more fixes new_master 3b880d7 [origin/new_master] branches diverged photo_stacks 29c8f0d [origin/photo_stacks] 1st try responsive 1dad980 [origin/responsive] update $ git push fatal: The current branch master has multiple upstream branches, refusing to push. 

您可能需要执行以下操作:

 git config remote.origin.push HEAD 

在主分支上没有任何参数的推送可能会导致您的错误消息。 我不确定这是回归问题,还是一直如此。

运行git config -l并查看是否有多行包含branch.master *引用[branch“master”]部分可能被复制~/.gitconfig.git/config. 删除~/.gitconfig的一个修复了我的多个上游分支检测。

您必须指定您要推送的分支。 git push会自动尝试推送本地分支正在跟踪的所有ref和标签。 在服务器上的分支机构可能已经向前移动了。 因此,你可能正在结束这种情况。 你应该简单地使用

 git push origin master 

并协调变化做一个git pull这将更新您的本地裁判从服务器。

好吧,在用全新的回购处理两次之后,我有一个答案。

git remote -v

git remote rm(如果你添加了其他遥控器,则不是原产地)

git remote rm origin

! 警告:多个分支.master.remote < – 这是好事

git remote add origin git@github.com:yourname / yourrepo

拉+推=固定