Użytkownicy GIT pracują nad projektami programistycznymi, aby stworzyć kilka plików, folderów i oddziałów oraz wykonywać wiele operacji. Czasami dodają zmiany w gałęzi i zapominają nacisnąć te modyfikacje podczas przełączania się na inną gałąź. Kiedy próbują połączyć te pliki lub gałęzie, napotykają konflikt. Zatem, aby rozwiązać konflikty, konieczne jest pominięcie operacji scalania i wszystkich zmian, które powodują konflikty.
Ten samouczek ilustruje działanie „Git Rebase -skip" Komenda.
Co dokładnie robi „git rebase -skip”?
Podczas wykonywania funkcji scalania lub rebazy, programiści zwykle napotykają niektóre konflikty. Zwykle dzieje się tak, gdy więcej niż jeden użytkownik popełnia tę samą treść w tym samym pliku. Dlatego GIT nie jest pewien modyfikacji i nie jest w stanie zastosować zmian. „„Git Rebase -skip„Dowództwo może przezwyciężyć takie konflikty i uniknąć/pominąć zatwierdzenie, które powoduje awarię scalania.
Krok 1: Przekieruj do lokalnego katalogu
Najpierw uruchom następujące polecenie w terminalu GIT Bash i przejdź do wymaganego repozytorium:
$ cd "c: \ git \ test_repo"
Krok 2: Utwórz nowy plik
Następnie utwórz nowy plik i zaktualizuj go za pomocą niektórych treści za pomocą „Echo" Komenda:
$ echo "Hello. To jest nowy plik ">> NewFile.tekst
Krok 3: Dodaj plik do indeksu inscenizacji
Teraz wykonaj poniższe polecenie, aby dodać „nowy plik„Plik do obszaru inscenizacji:
$ git dodaj Newfile.tekst
Krok 4: Zmiany popełniania
Aby zapisać nowe zmiany w lokalnym repozytorium GIT, użyj „git zatwierdzić" Komenda:
$ git commit -m "Newfile dodane"
Krok 5: Wyświetl listę gałęzi
Następnie sprawdź listę dostępnych oddziałów w działającym repozytorium za pomocą „GIT Branch" Komenda:
$ git oddział
Można zauważyć, że repozytorium ma „dev" I "gospodarz„Dwie gałęzie i gwiazdka”*„Symbol obok„gospodarz”Oddział wskazuje, że jest to aktualna gałąź robocza:
Krok 6: Przełącz się na inną gałąź
Teraz przejdź do „dev”Oddział wykorzystujący„Git Switch" Komenda:
$ git switch dev
Notatka: Przełączyliśmy się na „dev”Oddział i dodał pewne zmiany w„nowy plik”Plik, który zostanie połączony z„gospodarz”Branch„nowy plik" plik.
Krok 7: Dodaj zmiany do pliku
Użyj „Echo”Poleć i dodaj trochę treści do nowego pliku:
$ echo „This Is New Line” >> NewFile.tekst
Krok 8: Dodaj nowe zmiany do obszaru inscenizacji
Następnie pchnij nowo dodane zmiany do indeksu inscenizacji GIT:
$ git dodaj Newfile.tekst
Krok 9: Popełniaj nowe zmiany
Aby zapisać stopniowe zmiany w repozytorium GIT, uruchom następujące polecenie:
$ git commit -m „nowa linia dodana”
Załóżmy teraz, że użytkownicy chcą dodać więcej zmian do „nowy plik”Plik w„gospodarz" oddział. W tym celu wróć do konkretnej gałęzi i dokonaj pożądanych zmian.
Krok 10: Wróć do Old Branch
Użyj „Git Switch„Polecenie, aby wrócić do„gospodarz" oddział:
$ Git Switch Master
Krok 11: Zaktualizuj zawartość pliku
Następnie zaktualizuj plik, dodając do niego trochę treści za pomocą poniższego polecenia:
$ echo "Chcę dodać jeszcze jedną linię" >> NewFile.tekst
Krok 12: Dodaj zaktualizowane zmiany do indeksu git
Zaktualizuj obszar inscenizacji, dodając zmiany katalogu roboczego za pomocą „Git dodaj" Komenda:
$ git dodaj Newfile.tekst
Krok 13: Zamożne zmiany
Następnie zapisz wszystkie nowo dodane zmiany, wpisując „git zatwierdzić" Komenda:
$ git commit -m „Więcej linii dodanych w pliku”
Krok 14: Scal nową treść
Aby połączyć nowe zmiany z „dev„Oddział do oddziału„ Master ”, wykonaj„Git Rebase" Komenda:
$ git rebase dev
W podbiciu produkcji poniżej można zaobserwować, że nastąpił konflikt scalania:
Teraz, aby go rozwiązać, przejdź do następnego kroku.
Krok 15: Rozwiązuj konflikt scalania
Użyj komendy danej delowy, aby pominąć zatwierdzenie, które powodowało konflikt i upewnij się, że do pliku nie dodano żadnych zmian w pliku „gospodarz" oddział:
$ git rebase -skip
Poniższy zrzut ekranu wskazuje, że operacja SKIP REBASE została pomyślnie wykonana:
Krok 16: Sprawdź zmiany
Na koniec wyświetl historię dziennika referencyjnego repozytorium, aby zapewnić nowo dodane zmiany:
$ git log -linia
Można zauważyć, że konfliktowe zatwierdzenie zostało usunięte z historii zatwierdzenia:
To wszystko! Skutecznie wyjaśniliśmy działanie „Git Rebase -skip" Komenda.
Wniosek
„„Git Rebase -skip„Polecenie całkowicie pomija zatwierdzenie, które powoduje konflikty. Dlatego żadna z modyfikacji dokonanych przez zatwierdzenie konfliktu nie zostanie zastosowana. Konflikty zwykle występują podczas łączenia gałęzi, plików lub treści plików. Ten samouczek ilustruje, w jaki sposób występują konflikty scalone i jak rozwiązać takie konflikty za pomocą „Git Rebase -skip" Komenda.