GIT Cherry-pick - Kiedy i jak korzystać z GIT Cherry-pick z Przykładem?

Spisie treści:

Anonim

Wprowadzenie do GIT Cherry-pick

W tym artykule szczegółowo omówimy GIT Cherry-pick. Wielu programistów pracuje nad tym samym oprogramowaniem z różnych zakątków świata. Jak zatem zarządzać kodami? Jak sprawią, że inni zrozumieją wprowadzone przez siebie zmiany? Jak zatwierdzić kody i utrzymywać różne wersje? Jak scalić kody?

Aby rozwiązać te problemy, GIT wszedł do świata programistów. GIT to wyjątkowy system zarządzania kodem źródłowym (SCM) i rozproszony system kontroli wersji. GIT został stworzony przez Linuksa Torvalda, osobę, która opracowała jądro Linuksa. Oczywiście jest to narzędzie typu open source, w którym każdy programista może przyczynić się do budowy oprogramowania z dowolnego miejsca na świecie.

GIT ma wiele funkcji. Może mieć wiele oddziałów. Deweloper może pisać kody po utworzeniu własnego oddziału w systemie lokalnym i scalenie go z odgałęzieniem głównym lub innymi oddziałami zdalnego repozytorium GIT.

Co to jest GIT Cherry-pick?

Wyobraź sobie, że prace projektowe trwają nad napisaniem scenariusza dotyczącego historii i ewolucji telefonów komórkowych. Tak więc wiele osób pracuje nad tym samym projektem i wszyscy pracują osobno. Jednak w końcu skrypt każdego użytkownika zostanie skompilowany razem.

Teraz członek A pisze o telefonach Apple i nagle zdaje sobie sprawę, że może być lepiej. Poinformował o tym pozostałych członków zespołu, którzy pracują nad tym samym projektem. Inny członek X powiedział mu, że pisze skrypt na telefonach z Androidem i poprosił członka A o obejrzenie.

Następnie członek A zajrzał do skryptu członka drużyny i stwierdził, że niektóre części są takie same z pewnymi zmianami, które są naprawdę dobre. Dlatego wybrał te zmiany i wkleił we własnym skrypcie. Jest to to samo, co w GIT nazwano cherry-pick w branży kodowania oprogramowania.

Git-cherry-pick to potężne polecenie git, a cherry-picking to proces, który pozwala pobrać zatwierdzenie z gałęzi i zastosować go do innej gałęzi. Krótko mówiąc, może istnieć wiele gałęzi, w których programiści zatwierdzają swoje kody. Teraz jeden programista powinien zatwierdzić swoje kody w oddziale A, jednak przez pomyłkę popełnił kody w oddziale B. W tym czasie cherry-pick może przełączyć zatwierdzenie do właściwej gałęzi.

Użyj poniższej komendy (w systemie Unix), aby poznać różne opcje git-cherry-pick,

Komenda:

$man git-cherry-pick

Składnia polecenia cherry-pick,

Składnia:

git cherry-pick (–edit) (-n) (-m parent-number) (-x)

Kiedy używamy GIT Cherry-pick?

Git-cherry-pick jest użytecznym narzędziem, ale nie jest najlepszą praktyką przez cały czas. git-cherry-pick może być użyty w następujących scenariuszach,

  • Aby poprawić, gdy zatwierdzenie dokonane przypadkowo w innym oddziale.
  • Preferowane tradycyjne połączenia
  • Aby zastosować zmiany w istniejącym zatwierdzeniu.
  • Duplikat zatwierdzenia
  • Naprawa błędów

Jak działa GIT Cherry-pick?

Wada znaleziona w kodzie w środowisku produkcyjnym i poprawka musi zostać zaimplementowana. Po wprowadzeniu zmiany i usunięciu usterki nadszedł czas, aby przywrócić tę zmianę kodu z powrotem do środowiska programistycznego, aby wada nie pojawiła się ponownie w środowisku produkcyjnym w przyszłości.

Pierwsza opcja to proste scalanie git i jest to idealne rozwiązanie, jeśli działa. Istnieją jednak także inne zmiany wprowadzone w środowisku produkcyjnym i nie można ich przywrócić do środowiska programistycznego podczas łączenia. W takim przypadku wybór wiśni jest właściwą opcją.

Cherry-pick przynosi zatwierdzenie, które zostało stworzone wyłącznie do naprawy błędów. Nie wybiera innych zatwierdzeń.

Oto ilustracja

Ryc. 1: G i H są zobowiązaniami oddziału produkcyjnego. Zobowiązania działu rozwoju od A do F. Problem występuje w dziale Produkcja. W zatwierdzeniu H opracowano poprawkę, która musi być zastosowana w gałęzi rozwoju, ale nie wymaga się zastosowania zatwierdzenia G.

Ryc. 2: Teraz zatwierdzenie H jest wybierane w gałęzi Rozwoju i wynikowe zatwierdzenie to H '. Zmiany Commit G nie są uwzględniane w gałęzi Development.

Jak korzystać z GIT Cherry-pick z przykładem?

Załóżmy, że mamy dwie gałęzie (master i new_feature) (polecenie użyte do zobaczenia gałęzi-git)

Przez pomyłkę dokonaliśmy zatwierdzenia (Podświetlone) w gałęzi new_feature. (polecenie użyte do wyświetlenia zatwierdzonego dziennika log-git)

Jednak powinien on znajdować się tylko w gałęzi master. Najpierw skopiuj podświetloną SHA w notatniku.

Teraz użyjemy komendy git-cherry-pick, aby przenieść to zatwierdzenie do gałęzi master, jednak wcześniej musimy przełączyć się na gałąź master (komenda używana do przełączania kasowania gałęzi git < nazwa gałęzi > )

(użyte polecenie git - cherry - pick < commit id > ) (ten sam SHA powinien zostać wklejony, który został wcześniej skopiowany do notatnika za pomocą polecenia git cherry-pick)

Teraz widzimy, że to samo zatwierdzenie jest dostępne w gałęzi master (polecenie used-git log)

Aby uzyskać więcej przykładów poleceń git cherry-pick, zobacz poniższy link,

https://git-scm.com/docs/git-cherry-pick

Ważne rzeczy do zapamiętania

Trzeba pamiętać o trzech rzeczach podczas korzystania z narzędzia „pick-pick” i pracy w zespole.

1. Standaryzuj komunikat zatwierdzenia: Lepiej jest użyć standardowego komunikatu zatwierdzenia i -x, jeśli wybieramy z publicznego oddziału.

git cherry-pick -x

Pozwoli to uniknąć łączenia konfliktów w przyszłości.

2. skopiuj notatki: Czasami niektóre z pick-cherry mają notatki, a kiedy uruchamiamy cherry-pick, notatki nie są kopiowane. Dlatego lepiej go używać.

git notes copy

3. Wybierz wiele zatwierdzeń, gdy są one tylko liniowe: Chcemy wybrać wiele zatwierdzeń, takich jak G, H (Ryc. 1), jeśli są liniowe, użyj tylko poniższego polecenia,

git cherry-pick G^..H

Wniosek

Załóżmy, że chcemy wybrać konkretny zatwierdzenie z innej gałęzi i zastosować się do bieżącej gałęzi, oto kroki zalecane,

1. Znajdź skrót zatwierdzenia, który musi być najpierw wybrany.

2. Przejdź do gałęzi docelowej.

3. git cherry-pick -x

Rozwiąż konflikty, jeśli się pojawią. Jeśli w oryginalnym zatwierdzeniu znajdują się notatki, należy je skopiować.

git notes copy

Polecane artykuły

To jest przewodnik po GIT Cherry-pick. Tutaj omawiamy jego działanie i sposób użycia git cherry-pick z szczegółowymi przykładami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Narzędzia Git
  2. Terminologia Git
  3. Tag Git Checkout
  4. Co to jest Git Branch?