Щоб виправити це, припустивши, що ви знаходитесь на 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 ви повинні були зробити це таким чином.