Re: Creating new remote branch in git? - Mailing list pgsql-hackers

From Alex Hunsaker
Subject Re: Creating new remote branch in git?
Date
Msg-id BANLkTi=1ue6eKGaW-vpMR-YXpXa1vxD4PA@mail.gmail.com
Whole thread Raw
In response to Re: Creating new remote branch in git?  (Greg Smith <greg@2ndQuadrant.com>)
Responses Re: Creating new remote branch in git?
List pgsql-hackers
On Fri, Jun 10, 2011 at 00:53, Greg Smith <greg@2ndquadrant.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


pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: Small SSI issues
Next
From: Andrew Dunstan
Date:
Subject: Re: Creating new remote branch in git?