Ярлык, который не зависит от запоминания синтаксиса для git branch --set-upstream
1 , должен сделать:
git push -u origin my_branch
... при первом нажатии этой ветви,Или, чтобы перейти к текущей ветви к ветви с тем же именем (удобно для псевдонима):
git push -u origin HEAD
Вам нужно только один раз использовать -u
, и это устанавливает связь между вашей веткойи тот, что на origin
точно так же, как и git branch --set-upstream
.
Лично я считаю, что было бы хорошо, если бы была явно настроена эта связь между вашей веткой и одной на удаленном.Жаль только, что правила отличаются для git push
и git pull
.
1 Это может звучать глупо, но я очень часто забываюуказать текущую ветку, предполагая, что это по умолчанию - это не так, и результаты являются наиболее запутанными:)
Обновление 2012-10-11 : Очевидно, я не единственный человек, которыйлегко ошибиться!Спасибо VonC за указание, что git 1.8.0 представляет более очевидный git branch --set-upstream-to
, который можно использовать следующим образом, если вы находитесь на ветке my_branch
:
git branch --set-upstream-to origin/my_branch
... или с короткой опцией:
git branch -u origin/my_branch
Это изменение и его обоснование описаны в примечаниях к выпуску для git 1.8.0, кандидат на выпуск 1 :
Было соблазнительно сказать git branch --set-upstream origin/master
, но это говорит Git организовать локальную ветку origin/master
для интеграции с проверенной веткой, что весьма маловероятно для того, что имел в виду пользователь.Опция устарела;используйте вместо этого новый --set-upstream-to
(с коротким и сладким -u
).