# easy way to make tracking branches?

3 messages from 2009-01-18 to 2009-01-18. Participants: Stephan Beyer, Sitaram Chamarty.
Thread: https://gitlist.dev/t/17233

## Stephan Beyer, 2009-01-18 10:55

Subject: easy way to make tracking branches?
Message-ID: <20090118105530.GG11992@leksak.fem-net>
URL: https://gitlist.dev/e/20090118105530.GG11992%40leksak.fem-net

```
Hi,

assume I have a branch "foo" in my local repo, a remote "srv", and
a branch "bar" on srv (i.e. generated with "git push srv foo:bar").

Now I want to make "foo" a tracking branch for "bar".
I do:

	git config branch.foo.remote srv
	git config branch.foo.merge refs/heads/bar

And to get a comfortable git-push, I do:

	git config --add remote.srv.push foo:bar


Because I do not always remember the sequence, I have to look it
up or I just do

	git checkout -b foo2 srv/bar
	git branch -d foo
	git branch -m foo

which is suboptimal because deleting foo can remove some
other settings for the branch, e.g. mergeoptions.


So I wonder if there is some easier-to-remind way to let my branch
foo track my remote branch bar, or, if not, could it be useful to
have something like

	git push --make-tracking srv foo:bar
	# push foo -> bar and let foo track bar...
	# if foo already tracks bar, ignore the option

or should I just write a tiny script for me and shut up? :-)


Regards,
  Stephan

-- 
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F

```

## Sitaram Chamarty, 2009-01-18 15:37

Subject: Re: easy way to make tracking branches?
Message-ID: <slrngn6j4t.9he.sitaramc@sitaramc.homelinux.net>
URL: https://gitlist.dev/e/slrngn6j4t.9he.sitaramc%40sitaramc.homelinux.net
In-Reply-To: <20090118105530.GG11992@leksak.fem-net>

```
On 2009-01-18, Stephan Beyer <s-beyer@gmx.net> wrote:
> Now I want to make "foo" a tracking branch for "bar".
> I do:
>
> 	git config branch.foo.remote srv
> 	git config branch.foo.merge refs/heads/bar

I just do a "git pull srv" when the tracking is *not* setup,
and git reminds me what commands to use.

> And to get a comfortable git-push, I do:
>
> 	git config --add remote.srv.push foo:bar

This one you'll just have to remember, I guess :-)

> 	git checkout -b foo2 srv/bar
> 	git branch -d foo
> 	git branch -m foo
>
> which is suboptimal because deleting foo can remove some
> other settings for the branch, e.g. mergeoptions.

it also doesn't seem to set remote.srv.push, as far as I can
tell.

```

## Stephan Beyer, 2009-01-18 15:53

Subject: Re: easy way to make tracking branches?
Message-ID: <20090118155338.GK11992@leksak.fem-net>
URL: https://gitlist.dev/e/20090118155338.GK11992%40leksak.fem-net
In-Reply-To: <slrngn6j4t.9he.sitaramc@sitaramc.homelinux.net>

```
Hi,

Sitaram Chamarty wrote:
> > Now I want to make "foo" a tracking branch for "bar".
> > I do:
> >
> > 	git config branch.foo.remote srv
> > 	git config branch.foo.merge refs/heads/bar
> 
> I just do a "git pull srv" when the tracking is *not* setup,
> and git reminds me what commands to use.

Oh, this is great! (Just tested.)

Usually (in my use case) there is no need to pull before I set up
a tracking branch, so I never tried this.

And git only reminds you if you have no tracking branch set for
srv yet. But that's no problem, because if one is set I can
copy&paste the lines in .git/config.

Altogether, this is a solution I can live with.

> > And to get a comfortable git-push, I do:
> >
> > 	git config --add remote.srv.push foo:bar
> 
> This one you'll just have to remember, I guess :-)

This is not too hard. :-)

> > 	git checkout -b foo2 srv/bar
> > 	git branch -d foo
> > 	git branch -m foo
> >
> > which is suboptimal because deleting foo can remove some
> > other settings for the branch, e.g. mergeoptions.
> 
> it also doesn't seem to set remote.srv.push, as far as I can
> tell.

Right.


Thanks,
  Stephan

-- 
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F

```
