В чем разница в использовании флага -u
, когда я $git push
передаю свой локальный репозиторий в удаленный? Я вижу, что они делают одно и то же,
$git push origin master
хотя я $git push -u origin master
читал это руководство , но я не смог хорошо понять концепцию.
u означает восходящий поток и относится к основному удаленному репозиторию, который вы будете делать
pull
ypush
, этот параметр используется только один раз.Если у вас есть более одного удаленного репозитория, вы можете использовать эту опцию, чтобы установить один из них в качестве основного... при условии, что у вас есть одно репо на BitBucket (bitbucket), одно на GitHub (происхождение) и одно на GitLab (gitlab) и вы хотели бы использовать GitHub (происхождение) в качестве основного, вам нужно будет это сделать,
git push -u origin <branch>
и в следующих случаях, когда вы делаете это, это будет делаться толькоgit push
для GitHub без необходимости указывать репозиторий, но для двух других вам придется это сделать, например.git push bitbucket <branch>
илиgit push gitlab <branch>
. То же самое, если у вас есть один репозиторий и вы хотите избежать записи,git push origin <branch>
вы можете использовать эту опцию и делать это толькоgit push
в следующих случаях.Эта опция также известна как «git-pull/push без аргументов (git-pull/push без аргументов)».