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
拉+推=固定