Jedną z najsilniejszych cech Gita są jego lekkie gałęzie. Pozwalają efektywnie pracować na równoległych etapach rozwoju. Programista może nawet utworzyć oddzielne gałęzie dla oddzielnych błędów. Zarówno w czasie, jak i przestrzeni, gałęzie są prawie bezpłatne.

Wiele przepływów pracy git dotyczy zarówno gałęzi długoterminowych, jak i tymczasowych. Dlatego często istnieje potrzeba usuwania gałęzi podczas programowania. Czasami zachodzi potrzeba usunięcia oddziałów współdzielonych ze zdalnego serwera, jak również oddziałów lokalnych.

Po co usuwać oddział?

Po pierwsze, jeśli nadal uporanie się z git, istnieje duża szansa, że ​​utworzysz gałąź i zdecydujesz, że nie musisz. Lub możesz eksperymentować z gałęziami i chcesz po sobie posprzątać. Jest to w porządku, ponieważ rozgałęzianie w git jest lekką operacją. Jest bardzo szybki i efektywnie wykorzystuje miejsce na dysku.

Jak używać gałęzi Git do strukturyzacji projektu programistycznego

W tym artykule przyjrzymy się, co oznacza rozgałęzienie kodu, jak to zrobić i sposobami zarządzania aktualizacjami w „głównej” gałęzi git.

instagram viewer

W rezultacie wiele przepływów pracy związanych z programowaniem git zachęca do rozgałęziania, nawet w przypadku bardzo małych lub krótkich zadań. Na przykład powszechną strategią jest utwórz gałąź dla jednej poprawki błędu. Dzieje się tak nawet wtedy, gdy dotyczy tylko jednego autora dokonującego jednej linii zmiany w jednym pliku.

Z tych powodów tworzenie i usuwanie oddziałów to operacje, które należy dobrze zrozumieć. Może się zdarzyć, że często usuwasz gałęzie podczas typowego przepływu pracy.

Przykładowe repozytorium z gałęziami

Poniższe przykłady odnoszą się do przykładowego repozytorium o następującej strukturze:

$ git branch -vv
1 dev 1ae41e8 [pochodzenie / dev] pierwsze zatwierdzenie
2 * główne 1ae41e8 [pochodzenie / główne] pierwsze zatwierdzenie

Zauważ, że każdy oddział lokalny ma odpowiadającą mu gałąź upstream od zdalnego: pochodzenie.

Usuwanie gałęzi za pomocą wiersza poleceń

Podstawowa składnia polecenia do usuwania gałęzi to:

git branch (-d | -D) [-r] ...

Najprostsza forma polecenia usuwa gałąź lokalną, pod warunkiem, że wszystkie jej zmiany zostały scalone:

$ git branch -d dev

Nie możesz usunąć gałęzi, która jest obecnie aktywna; jeśli spróbujesz to zrobić, otrzymasz następujący komunikat:

błąd: nie można usunąć gałęzi „main” wyewidencjonowanej w „/ tmp / sandbox”

Gdy wszystko pójdzie dobrze, zobaczysz komunikat z potwierdzeniem:

Usunięto gałąź dev (wcześniej 1ae41e8).

Jeśli usuniesz gałąź, która istnieje tylko lokalnie, z niescalonymi zmianami, utracisz te zmiany. Dlatego git domyślnie odmówi usunięcia oddziału w takiej sytuacji:

błąd: gałąź „dev” nie została w pełni scalona.
Jeśli jesteś pewien, że chcesz go usunąć, uruchom „git branch -D dev”.

Jak informuje komunikat o błędzie, możesz wymusić usunięcie za pomocą -RE flaga. Jednak git pozwoli ci usunąć niescalony oddział lokalny, jeśli istnieje zdalnie:

ostrzeżenie: usunięcie gałęzi „dev”, która została scalona
„refs / remotes / origin / dev”, ale jeszcze nie połączone z HEAD.
Usunięto dewelopera gałęzi (wcześniej 9a6d20b).

Usunięcie zdalnego oddziału jest zupełnie inne. Będziesz używać git push polecenie wraz z -re flaga do usunięcia. Następnie podaj nazwę pilota (często pochodzenie) i nazwę oddziału:

$ git push -d origin dev
Na github.com: bobbykjack / sandbox.git
- [usunięto] dev

Usuwanie oddziałów lokalnych i zdalnych za pomocą GitHub Desktop

W przeciwieństwie do programu git wiersza poleceń, Aplikacja komputerowa GitHub pozwoli ci tylko usunąć aktywną gałąź. Możesz wykonać tę akcję za pomocą Gałąź menu, wybierając Kasować opcja i jej potwierdzenie:

GitHub Desktop nie pozwoli Ci usunąć domyślnej gałęzi - np. main - mimo że sam git to obsługuje. Jeśli domyślną gałęzią jest ta, która jest obecnie aktywna, aplikacja wyłącza akcję menu.

Jeśli gałąź reprezentuje również zdalną gałąź, GitHub Desktop daje możliwość usunięcia jej również ze zdalnego:

Usuwanie oddziałów za pomocą GitKraken

GitKraken wyświetla lokalne i zdalne gałęzie repozytorium na lewym pasku bocznym. Musisz usunąć każdy osobno.

Najedź kursorem na odpowiednią nazwę oddziału i kliknij Gałąź menu czynności, które wygląda jak trzy pionowe kropki. Z menu wybierz Kasować :

Zobaczysz komunikat z potwierdzeniem, informujący, że jest to destrukcyjna operacja. Możesz potwierdzić, że chcesz kontynuować z Kasować przycisk:

Odzwierciedlając domyślne zachowanie programu wiersza poleceń git, musisz najpierw przełączyć się na gałąź inną niż ta, którą usuwasz. W przeciwnym razie zobaczysz komunikat o błędzie:

Usuwanie oddziałów lokalnych i zdalnych za pomocą wieży

Usuwanie oddziału za pomocą Wieża jest bardzo podobne do usuwania gałęzi z GitKraken. Lokalne i zdalne gałęzie są pokazane w panelu po lewej stronie. Kliknij prawym przyciskiem myszy dowolną gałąź i wybierz opcję Usuń z menu kontekstowego:

Jedną kluczową różnicą jest to, że zdalny oddział można usunąć wraz z jego lokalnym oddziałem podczas potwierdzania:

Usuwanie oddziału na GitHub

GitHub działa tylko jako zdalne źródło, więc gałęzie tam są domyślnie zdalne. Jeśli usuniesz oddział za pomocą witryny GitHub, będziesz musiał usunąć odpowiadający mu oddział lokalny za pomocą jednej z innych metod tutaj.

Podobnie jak w przypadku aplikacji GitHub Desktop, witryna GitHub nie pozwala na usunięcie domyślnej gałęzi. Opcja po prostu się nie pojawia. Usunięcie gałęzi jest jednak proste. Z repozytorium Kod kliknij plik gałęzie, znajdź gałąź do usunięcia, a następnie kliknij Usuń tę gałąź ikona, która wygląda jak kosz na śmieci:

Należy pamiętać, że nie ma sprawdzania niescalonych zmian, więc w GitHub gałąź zostanie po prostu natychmiast usunięta. Ponieważ jednak zawsze będzie reprezentować zdalną gałąź, powinno to być zachowanie, którego oczekujesz.

Pamiętaj, że po usunięciu zobaczysz przycisk do Przywracać gałąź. Jest to jednak po prostu przydatna funkcja cofania, na wypadek przypadkowego kliknięcia ikony usuwania. Nie polegaj na tym, bo jak tylko odświeżysz lub opuścisz stronę, stracisz opcję!

Usuwanie oddziałów lokalnych i zdalnych w usłudze Bitbucket

Bitbucket, podobnie jak GitHub, nie pozwoli Ci usunąć domyślnej gałęzi. Bitbucket nazywa to Główna gałąź w Ustawienia repozytorium. Możesz usunąć dowolny inny oddział wymieniony na Gałęzie zakładkę, poprzez jej odpowiedni plik działania menu:

Możesz również usunąć więcej niż jedną gałąź naraz, jeśli wykonujesz dużą operację czyszczenia:

Usuwanie gałęzi jest częścią typowego przepływu pracy w Git

Oddziały Git mogą skomplikować przepływ pracy, szczególnie w przypadku gałęzi lokalnych, zdalnych i śledzących. Jednak w przypadku prostego codziennego rozwoju prawdopodobnie będziesz cały czas tworzyć i usuwać lokalne oddziały. Jest to podstawowy aspekt typowego przepływu pracy git, do którego powinieneś się przyzwyczaić.

E-mail
Jak używać gałęzi Git do strukturyzacji projektu programistycznego

W tym artykule przyjrzymy się, co oznacza rozgałęzienie kodu, jak to zrobić i sposobami zarządzania aktualizacjami w „głównej” gałęzi git.

Powiązane tematy
  • Programowanie
  • GitHub
O autorze
Bobby Jack (23 opublikowane artykuły)

Bobby jest entuzjastą technologii, który przez prawie dwie dekady pracował jako programista. Pasjonuje się grami, pracuje jako redaktor recenzji w Switch Player Magazine i jest pochłonięty wszystkimi aspektami publikacji online i tworzenia stron internetowych.

Więcej od Bobby'ego Jacka

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.

.