Завдяки пов'язаному з цим питанням я з’ясував, що мені потрібно "перевірити" віддалену гілку як нову локальну гілку та вказати нову назву місцевої гілки.
git checkout -b newlocalbranchname origin/branch-name
Або ви можете зробити:
git checkout -t origin/branch-name
Останній створить гілку, яка також встановлена для відстеження віддаленої гілки.
Оновлення: минуло 5 років, як я опублікував це питання. Я багато чого навчився, і git покращився відтоді. Зараз у мене звичний робочий процес трохи інший.
Якщо я хочу отримати віддалені гілки, я просто запускаю:
git pull
Це дозволить отримати всі віддалені гілки та об'єднати поточну гілку. Він відобразить вихід, який виглядає приблизно так:
From github.com:andrewhavens/example-project
dbd07ad..4316d29 master -> origin/master
* [new branch] production -> origin/production
* [new branch] my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
Тепер git знає про моє нове my-bugfix-branch
. Щоб перейти на цю гілку, я можу просто запустити:
git checkout my-bugfix-branch
Зазвичай, я повинен був би створити гілку , перш ніж я міг перевірити це, але в більш нових версіях мерзотника, він досить розумний , щоб знати , що ви хочете , щоб оформити локальну копію цього віддаленого філії.
git branch --track XX origin/XX
. Ваша команда дає мені помилку.