From: "Cheeray Huang" <>

I think I found a bug, when I used local branches to track remote branch. But I'm not very sure, can anyone double check this? I'd like to finger this out. I think you can reproduce this bug as below steps:


Suppose that you have a remote branch in repository, named origin/work. And then you want to track it with a local branch.


1. So you can do this:

git checkout -t origin/work

now, you have a local branch also named "work" to track "origin/work".
It works nicely, you can use "push/pull" command without any detail parameters to sync anything with the remote branch.

2. Create another branch, ex. named "work2", to track "origin/work" again, though maybe there are not so many people that will do like this.

At this point you have created the 'conflict' - You can't have two different branches that both track the same identical remote branch and expect that they can be both different and identical at the same time.

You will find that local branch "work2" can't "push" to "origin/work".
ex. After you committed something in work2, you typed "git status", git would tell you:

Your branch is ahead of 'origin/work' by x commit.

And then you used "git push", git can't display the information about changing hash value in remote branch, just printed "everything is up to date".

Only one push (from two branches trying) can suceed. You either force the remote to match the current branch, and loose any information that it had about the other branch, or the remote stays with one branch. Simply don't do it [that way]. If the local branches are different, then you need distinct remote branches.

Actually, you can use some exact parameters to solve this,  such as:

git push origin work2:work

But, I still think it is a bug.

BTW, I found this bug when I used github. I don't know whether it is related to github.


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to