Praca na wielu gałęziach jednocześnie w jednym repozytorium

Nov 29 2022
W idealnym świecie każdy programista powinien być skupiony na jednym zadaniu lub historii, bez konieczności przełączania się między różnymi kontekstami. Nie oszukujmy się, w dzisiejszych czasach to rzadkość.
Zdjęcie Sugantha na Unsplash

W idealnym świecie każdy programista powinien być skupiony na jednym zadaniu lub historii, bez konieczności przełączania się między różnymi kontekstami. Nie oszukujmy się, w dzisiejszych czasach to rzadkość. Na szczęście git ma w swoim arsenale doskonałe narzędzie, które pozwala programistom pracować na wielu gałęziach jednocześnie, bez przechodzenia tam iz powrotem. Instrumentem, o którym mowa, jest git worktree.

Wymagania:

Aby uruchomić drzewo robocze, potrzebujesz zainicjowanego repozytorium, opcjonalnie z wieloma gałęziami.

Rozważmy na przykład repozytorium z trzema gałęziami. list-users-API, gałąź funkcji, która jest bieżącą aktywną gałęzią, maingałąź i user-unable-to-edit-content, dodatkowa gałąź błędu. Możliwy scenariusz jest taki, że gałąź błędu nie przeszła przeglądu kodu i wymagane są dalsze zmiany. Od tego miejsca możemy przejść na kilka sposobów:

  1. Schowaj wszystkie nasze postępy i przejdź do gałęzi błędów, aby zastosować niezbędne zmiany.
  2. Sklonuj repozytorium do innego folderu i rozwiąż problem bez konieczności przechowywania, ale poświęć na ten proces odpowiednią ilość czasu.
  3. Trzecie i ostatnie podejście polega na użyciu git worktree, zachowując nasze obecne postępy w gałęzi funkcji i całkowicie unikając przełączania.

Realizacja:

Aby rozpocząć, użyj następującego polecenia, aby zainicjować drzewo robocze :

$ git worktree add <path> [<commit-ish>]

Przygotowanie drzewa roboczego (sprawdzanie „użytkownik nie może edytować treści”)

Jeśli użyjesz git branchteraz, zobaczysz +symbol poprzedzający nazwę oddziału. Aby rozpocząć korzystanie z worktree, wystarczy otworzyć nowy katalog w repozytorium z wybranym przez nas IDE. Teraz możemy wprowadzać zmiany do gałęzi błędów wraz z rozwojem nowej funkcji. Po zakończeniu zmian możemy usunąć drzewo robocze, używając:

$ git worktree remove <worktree>

Git worktree to poręczne narzędzie, które zwiększa wszechstronność i oszczędza znaczną ilość czasu. Umożliwia pracę na dwóch lub więcej gałęziach bez konieczności przechowywania lub zatwierdzania niedokończonego kodu. Mam nadzieję, że ten artykuł był pomocny i zwiększy Twoją produktywność. Prosimy o wszelkie opinie, które uznasz za warte podzielenia się w komentarzach!