Jak sprawdzić zdalną gałąź Git
Opublikowany: 2023-01-23Jeśli Twój zespół programistów korzysta z Git, w końcu będziesz musiał sprawdzić czyjąś pracę jako gałąź ze zdalnego repozytorium. Podobnie jak większość operacji rozgałęzień w Git, przełączenie się do zdalnej gałęzi jest w rzeczywistości dość proste.
Git, gałęzie i piloty
Znajdowanie lokalnych oddziałów
Sprawdzanie zdalnego oddziału
Obsługa konfliktów nazw
Obsługa wielu zdalnych repozytoriów
Zanim dokonasz płatności
Git, gałęzie i piloty
Filozofią Gita jest częste rozgałęzianie. Gałęzie umożliwiają rozwój bez zmiany głównej bazy kodu. Kiedy jesteś zadowolony, że Twój nowy, przetestowany kod jest gotowy, scalasz nową gałąź z inną gałęzią. Zwykle jest to gałąź główna lub główna, ale można połączyć dowolne dwie gałęzie.
Dzięki tej elastyczności oraz lekkiemu i szybkiemu sposobowi, w jaki Git obsługuje rozgałęzienia i scalanie, rozgałęzianie zostało przekształcone. W starszych systemach kontroli wersji rozgałęzianie było wielką sprawą. Rozgałęzianie i łączenie były powolne i podatne na błędy. Git dał programistom łatwe, szybkie rozgałęzianie, które jest używane do wspierania wielu różnych przepływów pracy.
Jeśli pracujesz lub jesteś wolontariuszem w zespole programistów korzystającym z Git, będziesz mieć „centralne” repozytorium Git, oddalone od komputera każdego inżyniera oprogramowania. Jest to znane jako zdalne repozytorium lub po prostu „zdalne”. To tam wysyłane są zatwierdzenia i zmiany w lokalnym repozytorium, gdy wykonujesz wypychanie.
Oczywiście robią to również inni programiści. Ułatwia to współpracę. Jeśli chcesz uzyskać dostęp do pracy innego programisty, po prostu pobierz jego kod z oddziału w zdalnym repozytorium. Jeśli będą potrzebować dostępu do Twojej pracy, pobiorą Twój kod z oddziału w repozytorium, które śledzi jeden z Twoich lokalnych oddziałów.
W Git projekt deweloperski może mieć wiele pilotów. Jednak oddział lokalny może śledzić tylko jeden oddział zdalny. Tak więc, o ile pracujesz z odpowiednim pilotem, sprawdzanie zdalnej gałęzi z wieloma pilotami jest takie samo, jak używanie jednego pilota.
Znajdowanie lokalnych oddziałów
Musisz unikać konfliktów nazw. Jeśli masz oddział lokalny, który ma taką samą nazwę jak oddział zdalny, który zamierzasz sprawdzić, masz dwie możliwości. Możesz zmienić nazwę lokalnego oddziału i sprawdzić zdalny oddział. W ten sposób twój lokalny oddział, który śledzi oddział zdalny, ma taką samą nazwę jak oddział zdalny. Lub możesz sprawdzić zdalną gałąź i powiedzieć Gitowi, aby utworzył lokalną gałąź śledzącą z nową nazwą.
Aby znaleźć nazwy gałęzi w lokalnym repozytorium, użyj polecenia git branch
.
gałąź git
To lokalne repozytorium ma gałąź główną i trzy inne gałęzie. Gwiazdka wskazuje, która gałąź jest bieżąca. Przechodzenie z oddziału do oddziału wymaga sprawdzenia oddziału, z którym chcesz pracować.
git checkout nowa funkcja
status gita
Pierwsze polecenie zmienia dla nas gałąź, tak że „new-feature” jest bieżącą gałęzią. Polecenie git status
weryfikuje to dla nas.
Możemy przeskakiwać między gałęziami, wprowadzać nowe zmiany, pobierać aktualizacje z pilota i przesyłać lokalne aktualizacje do pilota.
POWIĄZANE: Jak aktualizować i utrzymywać oddzielne gałęzie Git
Sprawdzanie zdalnego oddziału
W zdalnym repozytorium znajduje się oddział, którego nie ma na naszym komputerze. Deweloper o imieniu Mary stworzył nową funkcję. Chcemy przełączyć się do tej zdalnej gałęzi, abyśmy mogli lokalnie zbudować tę wersję oprogramowania.
Jeśli wykonamy fetch
, Git pobierze metadane ze zdalnego repozytorium.
pobierz git
Ponieważ jest to pierwsze fetch
, które wykonaliśmy od czasu, gdy Mary wypchnęła swoją gałąź do zdalnego repozytorium, powiedziano nam, że istnieje nowa gałąź o nazwie „Origin/mary-feature”. Domyślna nazwa pierwszego zdalnego repozytorium dodanego do projektu to „Origin”.
Niezależnie od tego, czy zobaczymy tę wiadomość, czy nie, zawsze możemy poprosić Gita o wypisanie gałęzi w zdalnym repozytorium.
Opcja -r
(remote) mówi Gitowi, aby raportował o gałęziach, które znajdują się w zdalnym repozytorium.
gałąź git -r
Warto tutaj zauważyć, że Git sprawdza swoją lokalną kopię metadanych pilota. Dlatego użyliśmy polecenia git fetch
, aby upewnić się, że lokalna kopia metadanych jest aktualna.
Gdy już znajdziemy gałąź, którą chcemy, możemy śmiało ją sprawdzić. Używamy polecenia git checkout
z opcją -b
(branch), po której następuje nazwa, której będziemy używać dla lokalnej gałęzi, po której następuje nazwa zdalnej gałęzi.
git checkout -b mary-feature origin/mary-feature
Widzimy, że sprawdziliśmy gałąź zdalną i utworzyliśmy gałąź lokalną, która będzie śledzić zmiany w gałęzi zdalnej.
gałąź git
Nasz nowy lokalny oddział jest teraz naszym obecnym oddziałem.
Obsługa konfliktów nazw
Jeśli masz oddział lokalny, który ma taką samą nazwę jak oddział zdalny, możesz albo zmienić nazwę oddziału lokalnego przed wyewidencjonowaniem oddziału zdalnego, albo wyewidencjonować oddział zdalny i określić inną nazwę oddziału lokalnego.
Aby wyewidencjonować oddział zdalny do oddziału lokalnego o innej nazwie, możemy użyć tego samego polecenia, którego użyliśmy wcześniej, i wybrać nową nazwę oddziału lokalnego.
git checkout -b mary-test origin/mary-feature
Spowoduje to utworzenie lokalnej gałęzi o nazwie „mary-test”, która będzie śledzić lokalne zatwierdzenia w tej gałęzi. Wypchnięcia trafią do zdalnej gałęzi „origin/mary-feature”.
Jest to prawdopodobnie najlepszy sposób radzenia sobie z konfliktami nazw lokalnych. Jeśli naprawdę chcesz zachować tę samą nazwę oddziału lokalnego i zdalnego, musisz zmienić nazwę oddziału lokalnego przed sprawdzeniem zdalnego. Zmiana nazwy gałęzi jest banalna w Git.
git branch -m mary-feature old-mary-branch
Możesz teraz sprawdzić zdalną gałąź „origin/mary-feature”.
Obsługa wielu zdalnych repozytoriów
Jeśli masz skonfigurowanych wiele zdalnych repozytoriów, musisz uważać, aby pracować z odpowiednim repozytorium podczas pobierania zdalnej gałęzi.
Aby wyświetlić listę zdalnych repozytoriów, użyj polecenia remote
z -v
(view).
git zdalny -v
Aby zobaczyć wszystkie dostępne gałęzie, musimy pobrać metadane ze wszystkich naszych zdalnych oddziałów, a następnie wyświetlić listę zdalnych oddziałów.
git fetch --all
gałąź git --wszystko
Widzimy, że gałąź, którą chcemy, znajduje się w pilocie „Origin”. Polecenie, aby to sprawdzić, jest w tym samym formacie, którego już używaliśmy. Musimy określić zdalną nazwę „origin”, a także nazwę oddziału „mary-feature”.
git checkout -b mary-feature origin/mary-feature
POWIĄZANE: Jak przełączać, dodawać i usuwać piloty Git
Zanim dokonasz płatności
Przed dokonaniem płatności pamiętaj o kilku rzeczach, a wszystko będzie dobrze.
Upewnij się, że unikasz kolizji nazw. Jeśli masz oddział lokalny o takiej samej nazwie jak oddział zdalny, zdecyduj, czy zmienisz nazwę oddziału lokalnego, czy też utworzysz oddział o innej nazwie, aby śledzić oddział zdalny.
Jeśli używasz wielu zdalnych repozytoriów, upewnij się, że używasz właściwego pilota.
POWIĄZANE: Git rebase: wszystko, co musisz wiedzieć