I come up with a problem about git pull.
Firstly, I am in "test_http_1204" branch,
root@inception-server-Quantal:~/bosh# git branch
master
* test_http_1204
ubuntu1204
Then I use git pull, and got an error message,
root@inception-server-Quantal:~/bosh# git pull m109bosh test_http_1204
fatal: Couldn't find remote ref test_http_1204
Unexpected end of command stream
But, I can find branch "test_http_1204" in my remote repo "m109bosh",
root@inception-server-Quantal:~/bosh# git branch -a
master
* test_http_1204
ubuntu1204
remotes/m109bosh/master
remotes/m109bosh/patch-1
remotes/m109bosh/test_http_1204
remotes/m109bosh/ubuntu1204
remotes/origin/HEAD -> origin/master
remotes/origin/floating_dns_registry
remotes/origin/http_stemcell_uploader
remotes/origin/master
remotes/origin/squashed
remotes/origin/ubuntu1204
remotes/origin/upstream
And, the content of .git/config is shown below:
root@inception-server-Quantal:~/bosh# cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://github.com/cloudfoundry-community/bosh-cloudstack-cpi.git
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "ubuntu1204"]
remote = origin
merge = refs/heads/ubuntu1204
[remote "m109bosh"]
url = https://github.com/m1093782566/bosh-cloudstack-cpi.git
fetch = +refs/heads/*:refs/remotes/m109bosh/*
url = https://github.com/m1093782566/bosh.git
I guess the root cause maybe the missing of [branch "test_http_1204"] in the .git/config, but when I add these lines to .git/config manually, it still does not work.
[branch "test_http_1204"]
remote = m109bosh
merge = refs/heads/test_http_1204
I have no idea about that. Could you please tell me how to fix it? Thanks!
Based on git ls-remote
output (was in comment, now gone - it doesn't fit very well in comments) it looks like the remote used to have a branch named test_http_1024
, but no longer does.
In other words, whoever controls the remote did a git branch -d
(or something equivalent) to delete their branch test_http_1024
. This means that when you ask git pull
for the contents of that branch, all it can tell you is: "eh? what? what branch?" :-)
When you look at your own set of remote branches, you can see that they used to have a branch test_http_1024
(which your git copied to remotes/m109bosh/test_http_1204
, back when it existed). But they can add or delete branches whenever they want.
If you run git fetch -p m109bosh
or git remote update --prune m109bosh
, your own git will delete its (old, stale) copy of their test_http_1024
branch. (You might not want to do this if you're still using it for something.)
A perhaps more important issue is that in:
[remote "m109bosh"]
url = https://github.com/m1093782566/bosh-cloudstack-cpi.git
fetch = +refs/heads/*:refs/remotes/m109bosh/*
url = https://github.com/m1093782566/bosh.git
there are two different url =
lines. Presumably one of them is out of date. (git fetch
uses the first one, so perhaps the second is the one you want.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With