Miejscowy oddział git można śledzić zdalną gałąź, co oznacza, że git Push i polecenia git pull dowie się pchają i ciągną zobowiązuje do iz gąsienicowego oddziału domyślnie. Również status git poinformuje Cię o statusie pomiędzy twoim bieżącym oddziałem lokalnym a zdalnym oddziałem, który śledzi. Kiedy sklonujesz repozytorium git, git doda odnośnik śledzenia do lokalnej gałęzi master, aby śledzić zdalną gałąź master. Kiedy wymeldujesz się z nowej zdalnej gałęzi, git doda referencję śledzenia do utworzonego lokalnego oddziału, aby śledzić zdalną gałąź, którą wypisałeś.
Jeśli jednak lokalnie utworzono nowy oddział, a następnie przekazano go do zdalnego repozytorium, należy jawnie powiedzieć git, jeśli chcesz, aby lokalny oddział zaczął śledzić nowy zdalny oddział. Zrobisz to za pomocą opcji -u
lub --set-upstream
, przesuwając gałąź lokalną do zdalnego repozytorium: git push -u origin my-new-branch
.
Możesz sprawdzić, które oddziały zdalne śledzą lokalne oddziały (jeśli występują) za pomocą komendy git branch -vv
Poniżej znajduje się mały przykład danych wyjściowych.
b1 560eb64 Added file.txt
b2 560eb64 [origin/b2] Added file.txt
b3 b638c18 [origin/r1: ahead 1] Added file3.txt
* master 560eb64 [origin/master] Added file.txt
W tym przypadku mamy lokalne oddziały master
, b1
, b2
i b3
. master
oddział śledzi zdalnego oddział o nazwie master
The b1
oddział nie śledzi żadnych zdalnych oddziałów, b2
oddział śledzi zdalny oddział zwany b2
i b3
oddział śledzi zdalny oddział zwany r1
. git branch -vv
również pokazuje stan odgałęzienia powiązanego z odgałęzieniem śledzonym. Tutaj oddział b3
jest 1 zatwierdzony przed śledzonym oddziałem zdalnym, a pozostałe oddziały są aktualne z ich odpowiednimi zdalnie śledzonymi oddziałami.
Więc jeśli utworzysz gałąź lokalną i przełączysz się do zdalnego repozytorium, czy chcesz dodać referencję śledzenia do gałęzi, czy nie? Zwykle, gdy przenosisz nową lokalną gałąź do zdalnego repozytorium, robisz to, aby współpracować z innymi programistami na danej funkcji. Jeśli dodasz odniesienie do śledzenia do oddziału lokalnego, możesz wygodnie pobrać zmiany wprowadzone przez inne osoby do oddziału, więc powiedziałbym, że w większości przypadków chcesz dodać referencję śledzenia.
Zobacz push -u dla miarki. – bmargulies
Jeśli dobrze rozumiem strony git man dla push, pull i config poprawnie, odniesienie do śledzenia jest ustawieniem lub ustawieniami dodanymi do pliku konfiguracyjnego, używanego przez git-pull bez argumentów, aby powiedzieć mu, co ma zostać usunięte. Uważam, że dokumentacja jest trochę zagmatwana, ale moim zdaniem jest odniesienie do śledzenia, które jest kombinacją następujących ustawień w pliku konfiguracyjnym: remote.. Pobierz i oddziału. .merge. Czy to jest poprawne? –