On Fri, Jun 10, 2011 at 12:40 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Joe Abbate <jma@freedomcircle.com> writes: > No, it doesn't trash anything. The branch is just an additional > "pointer" to 'master' (at that point in time). I recommend taking a > look at this:
Yes, I was reading exactly that before posting. It talks about pushing a branch you've created locally, and it talks about what happens when others pull that down, and it's about as clear as mud w/r/t how the original pusher sees the remote branch. What I want is to end up with my local branch tracking the remote branch in the same way as if I'd not been the branch creator. Preferably without having to do anything as ugly as delete the branch, or re-clone, or manually hack config files. This has got to be a use case that the git authors have heard of before...
I have done this quite a few times on GitHub and has never barfed on me in any surprising way:
# make sure local master is up-to-date with origin/master, and then do git checkout master git checkout -b new_branch git push origin new_branch
From here on I work as if that new_branch was handed to me from the origin. I believe this also takes care of setting up the .git/config file properly.
Just in case it is needed: to delete a branch on remote, just do
git push origin :new_branch
It will keep your local branch (if you have it), but will nuke the remote branch.
Regards,
PS: Play a bit on GitHub --
Gurjeet Singh EnterpriseDB Corporation The Enterprise PostgreSQL Company