It might be possible (in "Gerrited" setups) to have local branches outside refs/heads/, like for example in following fetch config: [remote "origin"] url = ssh://user@xxxxxxxxxxx/my-project fetch = +refs/heads/*:refs/remotes/origin/* fetch = +refs/wip/*:refs/remotes/origin-wip/* Let's say that 'test' branch already exist in origin/refs/wip/. If I call: git checkout test then it will create a new branch and add an entry to .git/config: [branch "test"] remote = origin merge = refs/wip/test But if I create a branch 'test2' and call: git push --set-upstream origin test2:refs/wip/test2 then branch is pushed, but no entry in .git config is created. I have to do it manually. I attached a hack-patch to have it working just to check with you if anything like that would be accepted. Obviously the get_local_refs() would need to compute the actual list of local hierarchies (if it is possible at all). And it probably should get a better name. And probably something else. What do you think? Krzesimir Nowak (1): RFC: make --set-upstream work for branches not in refs/heads/ transport.c | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) -- 1.8.3.1 -- 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