Jak używać git siły ciągnięcia

Jak używać git siły ciągnięcia
Pliki git i foldery dowolnego projektu GIT mogą być udostępniane przez wielu użytkowników GIT, którzy pracują w zespole. Gdy wielu użytkowników próbuje pracować nad tym samym plikiem lub folderem, pojawia się konflikt. Załóżmy, że gdy dwaj użytkownicy pracują nad tym samym plikiem repozytorium, a jeśli jeden użytkownik modyfikuje plik po modyfikacji wykonanej przez innego użytkownika, wówczas modyfikacja wykonana przez pierwszego użytkownika zostanie utracona przez ostatnią aktualizację. Ten problem można rozwiązać ręcznie. Użytkownik musi git Pull Pull w celu zastąpienia zmian w lokalnym repozytorium bez wpływu na zmiany dokonane w lokalnym repozytorium. `` git ciągnie '' Polecenie nie jest w stanie rozwiązać tego problemu. Sposób na użycie siły git „Git Fetch” I „Git reset” Polecenia pokazały w tym samouczku.

Wymagania wstępne:

Zainstaluj pulpit GitHub

Github Desktop pomaga graficznemu użytkownikowi git wykonywania zadań związanych z git. Możesz łatwo pobrać najnowszego instalatora tej aplikacji dla Ubuntu z Github.com. Musisz zainstalować i skonfigurować tę aplikację po pobraniu, aby. Możesz także sprawdzić samouczek do zainstalowania pulpitu GitHub na Ubuntu, aby poprawnie poznać proces instalacji.

Utwórz konto Github

Będziesz musiał utworzyć konto GitHub, aby sprawdzić polecenia użyte w tym samouczku.

Utwórz lokalne i zdalne repozytorium

Musisz utworzyć lokalne repozytorium i opublikować repozytorium na zdalnym serwerze, aby przetestować polecenia używane w tym samouczku.

Nadpisz lokalne zmiany w celu wymuszenia gita:

„git fetch -all” polecenie pobiera całą zawartość zdalnego repozytorium do lokalnego repozytorium, ale nie łączy treści z lokalnym repozytorium. Po wykonaniu polecenia pobierania, jeśli „Git reset” Polecenie jest wykonywane za pomocą -twardy Opcja, wówczas wszystkie pasujące pliki i foldery lokalnego repozytorium zostaną zastąpione przez treść zdalnego repozytorium. Wszystkie niezaangażowane i zaangażowane lokalne zmiany, które nie zostały popchnięte, zostaną usunięte dla -twarda opcja. Ten problem został opisany w tej części samouczka za pomocą lokalnego repozytorium o nazwie Python opublikowanego wcześniej na zdalnym serwerze.

Otworzyć podstawowy.py plik z zdalnego repozytorium, aby sprawdzić zawartość pliku. Poniższy obraz pokazuje, że plik zawiera cztery wiersze skryptu, aby dodać dwie liczby.

Force Git Pull dla niezaangażowanych zmian:

Teraz otwórz podstawową.plik PY lokalnego repozytorium w dowolnym edytorze tekstu i zmodyfikuj plik za pomocą następującej treści. Zapisz plik i zrezygnuj z edytora.

Drukuj („Dodanie trzech liczb”)
A = 10
B = 20
C = 30
Drukuj (A+B+C)

Uruchom następujące polecenia, aby dodać zmodyfikowane podstawowy.py plik w lokalnym repozytorium i sprawdź status repozytorium.

$ git dodaj podstawowy.py
Status $ git

Następujące dane wyjściowe pojawią się po wykonaniu polecenia. Dane wyjściowe pokazuje, że zadanie nie jest jeszcze popełnione.

Uruchom następujące polecenia, aby sprawdzić zawartość podstawowy.py plik przed pobraniem zawartości zdalnego repozytorium i sprawdź zawartość podstawowy.py Po mocnym pociągnięciu.

$ CAT BASIC.py
$ git fetch -wszystko
$ git reset -twarde pochodzenie/główne
$ CAT BASIC.py

Poniższe dane wyjściowe pokazuje, że zawartość podstawowy.py Plik został zastąpiony przez treść podstawowy.py plik zdalnego serwera, a zmodyfikowana treść została utracona.

Force Git Pull do zaangażowanych zmian:

Ponownie otwórz podstawowy.py plik lokalnego repozytorium w dowolnym edytorze tekstu i zmodyfikuj plik za pomocą następującej treści. Zapisz plik i zrezygnuj z edytora.

Drukuj („Odejmowanie dwóch liczb”)
A = 50
B = 20
Drukuj (A - B)

Uruchom następujące polecenia, aby dodać zmodyfikowane podstawowy.py Plik w lokalnym repozytorium, zatwierdź zadanie i sprawdź status repozytorium.

$ git dodaj podstawowy.py
$ git commit -m "podstawowy.PY zaktualizował "
Status $ git

Poniższe wyjście pokazuje, że zmodyfikowane podstawowy.py Plik jest dodawany i popełniony z komunikatem zatwierdzenia. Obecne drzewo robocze jest teraz czyste.

Uruchom poprzednie polecenia ponownie, aby sprawdzić, w jaki sposób „Git reset” Komenda działa na zaangażowane zadanie.

$ CAT BASIC.py
$ git fetch -wszystko
$ git reset -twarde pochodzenie/główne
$ CAT BASIC.py

Poniższe dane wyjściowe pokazuje, że zawartość pliku zdalnego ponownego zastąpiła zawartość pliku lokalnego. Więc „Git reset” polecenie działa tak samo dla zadań związanych.

Zapisz lokalne zmiany przed zmuszeniem gita:

Problem z nadpisaniem można rozwiązać, tworząc nowy oddział. Zatrzymaj wszystkie zmiany w repozytorium przed uruchomieniem poleceń Pull. Ponownie otwórz podstawowy.py plik lokalnego repozytorium w dowolnym edytorze tekstu i zmodyfikuj plik za pomocą następującej treści. Zapisz plik i zrezygnuj z edytora.

Drukuj („pomnóż dwie liczby”)
A = 10
B = 20
Drukuj (A * B)

Uruchom następujące polecenia, aby sprawdzić listę oddziału, przełączyć się na nową gałąź i sprawdź zawartość podstawowy.py Plik po wykonaniu poleceń Pull.

$ git oddział
$ git kector -b nowa gałąź
$ git fetch -wszystko
$ git reset -twarde pochodzenie/główne
$ CAT BASIC.py

Poniższe dane wyjściowe pokazuje, że zawartość podstawowy.py Plik nadpisał dla nowego oddziału.

Teraz uruchom następujące polecenia, aby sprawdzić zawartość podstawowy.py plik po przejściu na główny oddział.

$ git Checkout Main
$ CAT BASIC.py

Poniższe dane wyjściowe pokazuje, że zawartość podstawowy.py pozostał niezmieniony.

Wniosek:

Problem polegający na wyciąganiu repozytorium GIT i sposobu rozwiązania tego problemu został wyjaśniony w tym samouczku za pomocą lokalnego i zdalnego repozytorium demo. Ale to rozwiązanie nie będzie działać w przypadku niezaangażowanych zmian lokalnego repozytorium. Musisz więc popełnić wszystkie zmiany lub uruchomić „Git Stash” polecenie przed wyciągnięciem repozytorium GIT.