threads / discuss / 34596

change remote to track new branch

Subject: change remote to track new branch

## tl;dr

8 messages between Aug 3, 2013 and Aug 7, 2013.

replies: 7people: 4as markdown or json

Daniel Convissor· Aug 3, 2013, 02:40 UTC · lore
Hi:

Long ago I added a remote to my repo. It is set to track what was then WordPress' main release branch (3.4-branch) and created a local branch to use it. Well, time marches on. I want to update my remote and branch to track the new main release branch (3.6-branch).

Here's how I set things up at the time:

git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress git checkout -b wp wp/3.4-branch

I've tried various fetch, remote and branch commands to effectuate this change, to no avail. I get messages like "Not a valid ref."

I know a major part of this is that my repo only knows of one remote branch (of the many that exist). What I don't know are the commands needed to fetch the right remote branch, set my remote and local branch to track it. Your help will be appreciated, please.

Here's some information on the current state of things:
vvvvvvvvvvvvvvvvvvvv
^^^^^^^^^^^^^^^^^^^^
git branch -av
  dev                                 a18677e [ahead 153] backup of 3.4 db
  master                              0d6f9b5 Merge branch 'dev'
* wp                                  42abc67 [ahead 5] Merge branch
'3.4-branch' of https://github.com/WordPress/WordPress into wp
  remotes/git_push_deployer/wordpress c8a5d69 Make my branch names generic.
  remotes/prod/HEAD                   -> prod/master
  remotes/prod/master                 0d6f9b5 Merge branch 'dev'
  remotes/wp/3.4-branch               b535358 POT, generated from r24100
  remotes/wpconfig/master             3e45a81 LSS 0.27.0.
^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvv
git remote show wp
* remote wp
  Fetch URL: https://github.com/WordPress/WordPress
  Push  URL: https://github.com/WordPress/WordPress
  HEAD branch: master
  Remote branch:
    3.4-branch tracked
  Local branch configured for 'git pull':
    wp merges with remote 3.4-branch
  Local ref configured for 'git push':
    master pushes to master (local out of date)
^^^^^^^^^^^^^^^^^^^^
Thanks,
--Dan
-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
Andreas Schwab· Aug 3, 2013, 07:14 UTC · re: Daniel Convissor · lore

Re: change remote to track new branch

Daniel Convissor <danielc@analysisandsolutions.com> writes:
Show 9 quoted lines
> Long ago I added a remote to my repo.  It is set to track what was then
> WordPress' main release branch (3.4-branch) and created a local branch
> to use it.  Well, time marches on.  I want to update my remote and
> branch to track the new main release branch (3.6-branch).
>
> Here's how I set things up at the time:
>
> git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress
> git checkout -b wp wp/3.4-branch

Use "git remote set-branches" to change the tracked branches of a remote. Use "git branch --set-upstream-to" to change the upstream of a branch (or create a new branch from the new upstream).

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Daniel Convissor· Aug 3, 2013, 16:28 UTC · re: Andreas Schwab · lore

Re: change remote to track new branch

Hi Andreas:
On Sat, Aug 03, 2013 at 09:14:59AM +0200, Andreas Schwab wrote:
Show 15 quoted lines
> Daniel Convissor <danielc@analysisandsolutions.com> writes:
> 
> > Long ago I added a remote to my repo.  It is set to track what was then
> > WordPress' main release branch (3.4-branch) and created a local branch
> > to use it.  Well, time marches on.  I want to update my remote and
> > branch to track the new main release branch (3.6-branch).
> >
> > Here's how I set things up at the time:
> >
> > git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress
> > git checkout -b wp wp/3.4-branch
> 
> Use "git remote set-branches" to change the tracked branches of a
> remote.  Use "git branch --set-upstream-to" to change the upstream of a
> branch (or create a new branch from the new upstream).

Thanks. Those commands were introduced in 1.8. Is there a way to do it in 1.7, please?

--Dan
-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
Andreas Schwab· Aug 3, 2013, 16:41 UTC · re: Daniel Convissor · lore

Re: change remote to track new branch

Daniel Convissor <danielc@analysisandsolutions.com> writes:
> Thanks.  Those commands were introduced in 1.8.  Is there a way to do it
> in 1.7, please?
Use git config.
Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Daniel Convissor· Aug 3, 2013, 16:52 UTC · re: Andreas Schwab · lore

Re: change remote to track new branch

Hi Andreas:
On Sat, Aug 03, 2013 at 06:41:46PM +0200, Andreas Schwab wrote:
> Daniel Convissor <danielc@analysisandsolutions.com> writes:
> 
> Use git config.
Yeah.  I had contemplated using the following commands:
    git config remote.wp.fetch \
        "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
    git config branch.wp.merge "refs/heads/3.6-branch"

So is "git remote set-branches" and "git branch --set-upstream-to" just another syntax for making those same changes to git config? Or do the new commands do some additional work on the repository (to better keep track of things, or whatever)?

Thanks,
--Dan
-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
Daniel Convissor· Aug 7, 2013, 00:30 UTC · re: Daniel Convissor · lore

Re: change remote to track new branch

Hi Folks:
On Sat, Aug 03, 2013 at 12:52:15PM -0400, Daniel Convissor wrote:
Show 11 quoted lines
> 
> Yeah.  I had contemplated using the following commands:
> 
>     git config remote.wp.fetch \
>         "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
>     git config branch.wp.merge "refs/heads/3.6-branch"
> 
> So is "git remote set-branches" and "git branch --set-upstream-to" just
> another syntax for making those same changes to git config?  Or do the
> new commands do some additional work on the repository (to better keep
> track of things, or whatever)?
Sorry to be a pest, but I'm curious what the answer is, please.
Thank you,
--Dan
-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
David Aguilar· Aug 7, 2013, 02:40 UTC · re: Daniel Convissor · lore

Re: change remote to track new branch

On Tue, Aug 6, 2013 at 5:30 PM, Daniel Convissor <danielc@analysisandsolutions.com> wrote:

Show 16 quoted lines
> Hi Folks:
>
> On Sat, Aug 03, 2013 at 12:52:15PM -0400, Daniel Convissor wrote:
>>
>> Yeah.  I had contemplated using the following commands:
>>
>>     git config remote.wp.fetch \
>>         "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
>>     git config branch.wp.merge "refs/heads/3.6-branch"
>>
>> So is "git remote set-branches" and "git branch --set-upstream-to" just
>> another syntax for making those same changes to git config?  Or do the
>> new commands do some additional work on the repository (to better keep
>> track of things, or whatever)?
>
> Sorry to be a pest, but I'm curious what the answer is, please.
There's really nothing more to it.
There is one other setting -- "branch.wp.remote" should be set to "wp".

If you edit your .git/config by hand you'll see what's really going on. It's quite simple under the hood.

-- 
David
Jonathan Nieder· Aug 3, 2013, 17:05 UTC · re: Daniel Convissor · lore

Re: change remote to track new branch

Daniel Convissor wrote:
> On Sat, Aug 03, 2013 at 09:14:59AM +0200, Andreas Schwab wrote:
Show 6 quoted lines
>> Use "git remote set-branches" to change the tracked branches of a
>> remote.  Use "git branch --set-upstream-to" to change the upstream of a
>> branch (or create a new branch from the new upstream).
>
> Thanks.  Those commands were introduced in 1.8.  Is there a way to do it
> in 1.7, please?

"git remote set-branches" was introduced by v1.7.8-rc2~4^2~1. Are you stuck on 1.7.2.5, perhaps? In older (and current) versions of git, you can control the list of branches tracked by a remote by modifying its "fetch" refspec in .git/config:

	[remote "origin"]
		url = ...
		fetch = +refs/heads/master:refs/remotes/origin/master
		fetch = +refs/heads/next:refs/remotes/origin/next

"git branch --set-upstream-to" is from v1.8.0-rc0~50^2~4. In older versions of git,

	git branch --set-upstream-to=origin/master master
was spelled as
	git branch --set-upstream master origin/master

or the branch's upstream can be set directly in .git/config by modifying the "remote" and "merge" values in the [branch "foo"] paragraph.

Hope that helps, Jonathan

← back to recent threads