2

I have the following branches (local and remote):

origin/master
origin/alter
origin/alter_old
master
alter
alter_old

If I do git branch -vv I get:

master     6aec3b5 [origin/master] blam
alter      8c32a03 blaa1
alter_old  1669af7 [origin/alter: ahead N, behind M] blaa2

I want alter to track origin/alter and alter_old to track origin/alter_old. How can I do it? I tried the following:

git checkout alter_old
git branch -u origin/alter_old

but I get:

error: unknown switch `u'

And the same for --set-upstream-to.

EDIT: Strangely, I think that when I push, alterpushes into origin/master and alter_old pushed to origin/alter_old. Why is this?

Nordico
  • 1,226
  • 2
  • 15
  • 31

1 Answers1

2

For git 1.8.0 onwards

git branch alter_old -u origin/alter_old

OR

git branch alter_old --set-upstream-to origin/alter_old

For git 1.7.0 : Use --set-upstream instead of --set-upstream-to

git branch --set-upstream alter_old origin/alter_old
pratZ
  • 3,078
  • 2
  • 20
  • 29
  • 1
    `git branch -u origin/alter_old` returns `-bash: BRANCH: No such file or directory`. `git branch alter_old -u origin/alter_old` returns the same `error: unknown switch 'u'`. And exactly the same for set-upstream-to. – Nordico Dec 05 '14 at 19:54
  • which version of git are you using? – pratZ Dec 05 '14 at 19:55
  • use `--set-upstream` and don't use `BRANCH` literally. I mean use `alter` in place of BRANCH. eg `git branch --set-upstream alter_old origin/alter_old` – pratZ Dec 05 '14 at 20:07