Jak usunąć gałąź w Git lokalnie i zdalnie?

Jak usunąć gałąź w Git lokalnie i zdalnie?

Jedną z najmocniejszych cech Gita są jego lekkie gałęzie. Pozwalają sprawnie pracować na równoległych etapach rozwoju. Deweloper może nawet stworzyć osobne gałęzie dla oddzielnych błędów. Zarówno w czasie, jak i przestrzeni, oddziały są prawie bez kosztów.





dlaczego hbo max zamarza?

Wiele przepływów pracy git dotyczy zarówno gałęzi długoterminowych, jak i tymczasowych. W związku z tym często istnieje potrzeba usunięcia gałęzi podczas rozwoju. Czasami zachodzi potrzeba usunięcia oddziałów współdzielonych ze zdalnego serwera, a także oddziałów lokalnych.





Dlaczego usunąć oddział?

Po pierwsze, jeśli nadal masz problem z git , istnieje spora szansa, że ​​utworzysz gałąź, a potem zdecydujesz, że nie było takiej potrzeby. A może eksperymentujesz 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.





W rezultacie wiele przepływów pracy programistycznej git zachęca do tworzenia gałęzi, nawet w przypadku bardzo małych lub krótkich zadań. Na przykład powszechną strategią jest: utwórz oddział dla jednej poprawki błędu. Dzieje się tak nawet wtedy, gdy tylko jeden autor wprowadza jednowierszową zmianę w jednym pliku.

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



Przykładowe repozytorium z oddziałami

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

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Zwróć uwagę, że każdy oddział lokalny ma odpowiadającą mu gałąź nadrzędną ze zdalnego: początek .





Usuwanie gałęzi za pomocą wiersza poleceń

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

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

Najprostsza forma polecenia usuwa oddział lokalny, pod warunkiem, że wszystkie jego zmiany zostały scalone:





$ git branch -d dev

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

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Gdy wszystko pójdzie dobrze, zobaczysz komunikat potwierdzający:

Deleted branch dev (was 1ae41e8).

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

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

Jak informuje komunikat o błędzie, możesz wymusić usunięcie za pomocą -D flaga. Jednak git pozwoli ci usunąć niescaloną gałąź lokalną, jeśli istnieje zdalnie:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Usunięcie oddziału zdalnego jest zupełnie inne. Użyjesz git push polecenie wraz z -D flagę do usunięcia. Następnie podaj nazwę pilota (często początek ) oraz nazwę oddziału:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] 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ę czynność za pomocą Oddział menu, wybierając Kasować opcję i zatwierdzenie:

GitHub Desktop nie pozwoli ci usunąć domyślnej gałęzi — np. main — nawet jeśli sam git to obsługuje. Jeśli domyślną gałęzią jest ta, która jest aktualnie aktywna, aplikacja wyłącza akcję menu.

Jeśli oddział reprezentuje również oddział zdalny, GitHub Desktop daje również możliwość usunięcia go ze zdalnego:

Usuwanie gałęzi za pomocą GitKraken

GitCrack wyświetla lokalne i zdalne gałęzie twojego repozytorium na lewym pasku bocznym. Musisz usunąć każdyosobno.

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

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

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

Usuwanie oddziałów lokalnych i zdalnych za pomocą Tower

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

Jedna kluczowa różnica polega na tym, że oddział zdalny można usunąć wraz z oddziałem lokalnym podczas potwierdzania:

Usuwanie oddziału na GitHub

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

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

Pamiętaj, że nie ma sprawdzania pod kątem niescalonych zmian, więc na GitHub gałąź zostanie 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, aby Przywrócić gałąź. Jest to jednak po prostu przydatna funkcja cofania, na wypadek przypadkowego kliknięcia ikony usuwania. Nie licz na to, ponieważ jak tylko odświeżysz lub opuścisz stronę, stracisz opcję!

Usuwanie oddziałów lokalnych i zdalnych w Bitbucket

Bitbucket, podobnie jak GitHub, nie pozwoli na usunięcie domyślnej gałęzi. Bitbucket nazywa to Oddział główny w Ustawienia repozytorium . Możesz usunąć dowolny inny oddział wymieniony na Gałęzie zakładka, poprzez odpowiednią działania menu:

Możesz także 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

Gałęzie Git mogą skomplikować przepływ pracy, zwłaszcza z oddziałami lokalnymi, zdalnymi i śledzącymi. Ale 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ć.

Udział Udział Ćwierkać E-mail Jak używać gałęzi Git do tworzenia struktury projektu programistycznego?

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

Czytaj dalej
Powiązane tematy
  • Programowanie
  • GitHub
O autorze Bobby Jack(58 opublikowanych artykułów)

Bobby jest entuzjastą technologii, który przez prawie dwie dekady pracował jako programista. Pasjonuje się grami, pracuje jako redaktor recenzji w magazynie Switch Player i jest zanurzony we wszystkich aspektach publikowania online i tworzenia stron internetowych.

Więcej od Bobby'ego Jacka

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować