threads / discuss / 23792

how to push from repository with two tracking branches

Subject: how to push from repository with two tracking branches

## tl;dr

3 messages between May 13, 2010 and May 13, 2010.

replies: 2people: 3as markdown or json

Gelonida· May 13, 2010, 09:09 UTC · lore
Hi,
I have a repository with two tracking branches ('master' and 'mybranch')

with only one tracking branch I can do git pull make_local_changes git commit -a git push

with two tracking branches I will be told off if the other branch has been updated meanwhile, so what I currently to do is:

# 'pull and fastforward mybranch' git checkout mybranch git pull git checkout master

# pull and commit and push as with one tracking branch git pull make_local_changes git commit -a git push

How can I do this more efficiently? after a pull to master (I just had to fast forward mybranch to remote/mybranch) Switching branches and pulling seems a little clumsy

N
Jeff King· May 13, 2010, 11:57 UTC · re: Gelonida · lore

Re: how to push from repository with two tracking branches

On Thu, May 13, 2010 at 11:09:11AM +0200, Gelonida wrote:
Show 10 quoted lines
> I have a repository with two tracking branches ('master' and 'mybranch')
> 
> with only one tracking branch I can do
> git pull
> make_local_changes
> git commit -a
> git push
> 
> with two tracking branches I will be told off if the other branch has
> been updated meanwhile, so what I currently to do is:

How about "git push origin mybranch" to just push mybranch? You might also want to look at "push.default" in "git help config".

Show 11 quoted lines
> # 'pull and fastforward mybranch'
> git checkout mybranch
> git pull
> git checkout master
>
> [...]
>
> How can I do this more efficiently?
> after a pull to master (I just had to fast forward mybranch to
> remote/mybranch)
> Switching branches and pulling seems a little clumsy

Pull requires a working tree because a non-fast forward merge may need to resolve conflicts. So yes, you could be more efficient if it is a fast-forward (you would "git fetch", check to make sure it is a fast-forward, and then write the fast-forwarded commit sha1 into the ref), but in the worst case you may need to actually do the merge.

-Peff
Thomas Rast· May 13, 2010, 12:12 UTC · re: Jeff King · lore

Re: how to push from repository with two tracking branches

Jeff King wrote:
Show 15 quoted lines
> On Thu, May 13, 2010 at 11:09:11AM +0200, Gelonida wrote:
> 
> > I have a repository with two tracking branches ('master' and 'mybranch')
> > 
> > with only one tracking branch I can do
> > git pull
> > make_local_changes
> > git commit -a
> > git push
> > 
> > with two tracking branches I will be told off if the other branch has
> > been updated meanwhile, so what I currently to do is:
> 
> How about "git push origin mybranch" to just push mybranch? You might
> also want to look at "push.default" in "git help config".

Besides, all successful branch updates go through independently of the ones that failed. So you can push without having all local branches up to date.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

← back to recent threads