Co robi git --set-upstream
?
Próbowałem to zrozumieć, czytając instrukcję git , ale nie całkiem to zrozumiałem .
Co robi git --set-upstream
?
Próbowałem to zrozumieć, czytając instrukcję git , ale nie całkiem to zrozumiałem .
Odpowiedzi:
git branch --set-upstream <remote-branch>
ustawia domyślną gałąź zdalną dla bieżącej gałęzi lokalnej.
Każde przyszłe git pull
polecenie (z wyewidencjonowanym bieżącym oddziałem lokalnym)
będzie próbowało wprowadzić zatwierdzenia z<remote-branch>
bieżącego oddziału lokalnego.
Jednym ze sposobów uniknięcia konieczności jawnego pisania --set-upstream
jest użycie jego flagi skrótu -u
w następujący sposób:
git push -u origin local-branch
To automatycznie ustawia powiązanie upstream dla przyszłych prób push / pull.
Aby uzyskać więcej informacji, zapoznaj się z tym szczegółowym wyjaśnieniem na temat odgałęzień i śledzenia .
Aby uniknąć nieporozumień, najnowsze wersje
git
przestarzałe tej nieco niejednoznacznej--set-upstream
opcji na rzecz bardziej szczegółowej--set-upstream-to
opcji o identycznej składni i zachowaniugit branch --set-upstream-to <origin/remote-branch>
git push -u origin local-branch
co origin
reprezentuje? Czy jest jakiś przypadek, w którym wpisałbym coś innego niż origin
po -u
?
origin
odnosi się do zdalnego repozytorium git, którego użyto do klonowania. Może istnieć wiele zdalnych repozytoriów git . W takim przypadku origin
można zastąpić odpowiednią nazwą żądanego pilota, do którego chce się odwoływać.
git remote -v
aby znaleźć swoje piloty, domyślnie jest origin
to
Kiedy naciskasz na pilota i używasz --set-upstream
flagi git, ustawiasz gałąź, do której naciskasz, jako gałąź zdalnego śledzenia gałęzi, którą naciskasz.
Dodanie zdalnego śledzenia środków oddziałów, które następnie git wie, co chcesz zrobić, gdy git fetch
, git pull
lubgit push
w przyszłości. Zakłada, że chcesz zachować synchronizację gałęzi lokalnej i gałęzi zdalnej, którą śledzi, i podejmuje odpowiednie działania, aby to osiągnąć.
Możesz osiągnąć to samo za pomocą git branch --set-upstream-to
lub git checkout --track
. Aby uzyskać więcej informacji, zobacz strony pomocy git w gałęziach śledzenia .
git branch --set-upstream <<origin/branch>>
nie jest już oficjalnie wspierany i został zastąpiony przez git branch --set-upstream-to <<origin/branch>>
--set-upstream-to
która została wprowadzona z powodu nieporozumień (IIRC) na etapie konfiguracji.