Re: Creating new remote branch in git?

From: Alex Hunsaker <badalex(at)gmail(dot)com>
To: Greg Smith <greg(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Creating new remote branch in git?
Date: 2011-06-10 15:26:27
Message-ID: BANLkTi=1ue6eKGaW-vpMR-YXpXa1vxD4PA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jun 10, 2011 at 00:53, Greg Smith <greg(at)2ndquadrant(dot)com> wrote:
> On 06/10/2011 12:19 AM, Alex Hunsaker wrote:
>>
>> It looks like if you push the remote branch first everything should work
>> nicely:
>> git checkout master
>> git push origin origin:refs/heads/REL9_1_STABLE
>> git fetch # fetch the new branch
>> git checkout REL9_1_STABLE
>
> This is basically the state of the art right now for the most frequently
> deployed versions of git.  I don't think checking out master first is
> necessary though.

I assume it will use the current HEAD as the branch point which is why
I checked out master :)

> Potentially useful automation/trivia for alternate approaches includes:
>
> 1) Write a little script to do this messy chore, so you don't have to
> remember this weird "create a new branch using a full refspec" syntax.
>  There is an example named git-create-branch along with a short tutorial on
> this subject at
> http://www.zorched.net/2008/04/14/start-a-new-branch-on-your-remote-git-repository/
>
> 2) Use git_remote_branch https://github.com/webmat/git_remote_branch which
> is the swiss army knife of remote branch hackery automation.
>
> 3) Rather than manually hack the config files, use "git config" to do it.
>  Not sure if this is completely workable, but something like this might
> connect the newly created branch to your local one after pushing it out,
> without actually opening the config with an editor:
>
> git config branch.REL9_1_STABLE.remote origin
> git config branch.REL9_1_STABLE.merge refs/heads/REL9_1_STABLE
>
> 4) Use a system with git>=1.7.0, which adds:
>
> git branch --set-upstream REL9_1_STABLE origin/REL9_1_STABLE

But wait! there's more!

5) delete your local branch and recreate it after you push the branch out
git branch REL9_1_STABLE
git push origin REL9_1_STABLE
# -f is short hand, you could git branch -d REL9_1_STABLE and re-make it
git branch -f REL9_1_STABLE origin/REL9_1_STABLE

6) use push -u
....

Its git so there are probably another half dozen ways to do this...
What Im curious about is what is the 'proper' way? Or is that a
nonsensical question when talking about git :-P

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2011-06-10 15:36:02 Re: Creating new remote branch in git?
Previous Message Kevin Grittner 2011-06-10 15:05:55 Re: Small SSI issues