# how to push from repository with two tracking branches

3 messages from 2010-05-13 to 2010-05-13. Participants: Gelonida, Jeff King, Thomas Rast.
Thread: https://gitlist.dev/t/23792

## Gelonida, 2010-05-13 09:09

Subject: how to push from repository with two tracking branches
Message-ID: <hsgfjn$onv$1@dough.gmane.org>
URL: https://gitlist.dev/e/hsgfjn%24onv%241%40dough.gmane.org

```
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, 2010-05-13 11:57

Subject: Re: how to push from repository with two tracking branches
Message-ID: <20100513115747.GC10963@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20100513115747.GC10963%40coredump.intra.peff.net
In-Reply-To: <hsgfjn$onv$1@dough.gmane.org>

```
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".

> # '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, 2010-05-13 12:12

Subject: Re: how to push from repository with two tracking branches
Message-ID: <201005131412.58675.trast@student.ethz.ch>
URL: https://gitlist.dev/e/201005131412.58675.trast%40student.ethz.ch
In-Reply-To: <20100513115747.GC10963@coredump.intra.peff.net>

```
Jeff King wrote:
> 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

```
