Musisz zrozumieć, że repozytorium Git to nie tylko drzewo katalogów i plików, ale także przechowuje historię tych drzew - które mogą zawierać gałęzie i scalenia.
Podczas pobierania z repozytorium skopiujesz do niego wszystkie lub niektóre gałęzie. Są one następnie w twoim repozytorium jako „zdalne gałęzie śledzenia”, np. Gałęzie o nazwach podobnych remotes/origin/masterlub podobnych.
Pobieranie nowych zatwierdzeń ze zdalnego repozytorium nic nie zmieni w lokalnej kopii roboczej.
Twoja kopia robocza ma zwykle sprawdzone zatwierdzenie, o nazwie HEAD. To zatwierdzenie jest zwykle wskazówką jednego z lokalnych oddziałów.
Myślę, że chcesz zaktualizować swój oddział lokalny (a może wszystkie oddziały lokalne?) Do odpowiedniego oddziału zdalnego, a następnie sprawdzić najnowszy oddział.
Aby uniknąć konfliktów z kopią roboczą (która może zawierać lokalne zmiany), najpierw czyścisz wszystko, co nie jest wersjonowane (za pomocą git clean). Następnie sprawdź lokalną gałąź odpowiadającą gałęzi zdalnej, którą chcesz zaktualizować, i użyj, git resetaby przełączyć ją na pobraną gałąź zdalną. ( git pullwłączy wszystkie aktualizacje zdalnego oddziału do twojego lokalnego, co może zrobić to samo lub utworzyć zatwierdzenie scalania, jeśli masz lokalne zatwierdzenia).
(Ale wtedy naprawdę stracisz wszelkie lokalne zmiany - zarówno w kopii roboczej, jak i lokalnych zatwierdzeniach. Upewnij się, że naprawdę tego chcesz - w przeciwnym razie lepiej użyj nowego oddziału, to zapisuje twoje lokalne zatwierdzenia. I użyj, git stashaby zapisać zmiany, które nie zostały jeszcze zatwierdzone .)
Edycja:
Jeśli masz tylko jeden oddział lokalny i śledzisz jeden oddział zdalny, wszystko, co musisz zrobić, to
git pull
z katalogu roboczego.
Spowoduje to pobranie bieżącej wersji wszystkich śledzonych gałęzi zdalnych i zaktualizowanie bieżącej gałęzi (i katalogu roboczego) do bieżącej wersji gałęzi zdalnej, którą śledzi.