Git 1.8存在另一个问题:
$ git push
error: dst ref refs/heads/master receives from more than one src.
error: failed to push some refs to 'gitosis@xxx.xx:xxx.git'
有什么建议吗?在升级到1.8之前它是可以工作的。
$ git remote -v
origin gitosis@xxx.xx:xxx.git (fetch)
origin gitosis@xxx.xx:xxx.git (push)
在谷歌上搜索了一番后,我首先尝试了这个:
$ git push origin :refs/heads/refs/heads/master
remote: warning: Allowing deletion of corrupt ref.
To gitosis@xxx.xx:xxx.git
- [deleted] refs/heads/master
我不知道那是什么,也不知道为什么它已经损坏了。
$ git pull
Already up-to-date.
$ git push
error: dst ref refs/heads/master receives from more than one src.
error: failed to push some refs to 'gitosis@xxx.xx:xxx.git'
仍然无法工作,但是至少origin master
可以工作:
$ git push origin master
Counting objects: 42, done.
To gitosis@xxx.xx:xxx.git
3e3fc87..6e11d2a master -> master
好的,那样有点解决了,但问题最初是什么原因导致的呢?为什么 origin/master 突然出现问题?我用 git push origin :refs/heads/refs/heads/master
做了什么?
.git/config
:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = gitosis@xxx.xx:xx.git
push = HEAD
[branch "master"]
remote = origin
merge = refs/heads/master
ls .git/refs/remotes/origin:
HEAD master refs
最终,现在每次我都要执行git push origin master
。最烦人的是有些库可以使用git push
,但在大多数库中我必须添加origin master
,但我不明白为什么,这不可能只是我一个人遇到的问题。
.git/config
中的[remote "origin"]
和[branch "master"]
部分吗? 同时也需要提供ls .git/refs/remotes/origin
。 - Brian Campbell