Чтобы исправить это, предположим, что вы находитесь на ветке master
и хотите извлечь ветку master
с пульта origin
в достаточно новых версиях Git (1.8 или новее):
git branch -u origin/master master
(Аналогично для других филиалов и / или пультов.)
Если вы можете объединить это с толчком, это будет еще короче:
git push -u origin master
После этого обычный git pull
/ git push
будет делать то, что вы ожидаете.
В серии Git 1.7 у git branch
не было переключателя -u
(только у git push
), и вместо этого вам пришлось использовать гораздо более длинное --set-upstream
:
git branch --set-upstream master origin/master
Обратите внимание на изменение аргументов по сравнению с -u
. Я возился с этим заказом более одного раза.
Все это, между прочим, является сокращением для выполнения следующих действий, которые вы все еще можете сделать явно:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
До 1.7 у вас было , чтобы сделать это таким образом.