Let's consider the following scenario: mkdir bare.git mkdir local cd bare.git git --bare init cd ../local git init echo test > test.txt git add test.txt git commit -m test git remote add origin `pwd`/../bare.git git push --all git checkout -b origin/master master echo updated > test.txt git add test.txt git commit -m updated Note that that in this scenario, the user has created local branch in the folder with the same name as a remote branch. While the supposed user here is apparently shooting itself in the foot, the scenario is still supported by git, and might happen as a result of more logical git operations (like git fetch). After this scenario is executed, git branch -a will give the following output: master * origin/master origin/master Note that there is two origin/master entries, but it is not clear which is remote is and which is the local. I think that "git branch -a" should print unambiguous names, qualifying them if needed. Constantine -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html