Jak usunąć oddział GitHub?

Pozbywanie się niepotrzebnych elementów to kluczowy aspekt efektywnej pracy, pozwalający na stworzenie przestrzeni dla nowych inicjatyw i ułatwienie utrzymania porządku w dotychczasowym dorobku. W tym artykule przyjrzymy się różnorodnym metodom usuwania gałęzi w systemie GitHub.

Gałęzie w świecie programowania stanowią nieocenioną pomoc dla deweloperów. Jeśli jesteś programistą, z pewnością zdajesz sobie z tego sprawę. Możesz pominąć następny fragment i przejść bezpośrednio do sekcji poświęconej usuwaniu gałęzi, jeżeli masz już doświadczenie z ich praktycznym zastosowaniem. Jeżeli dopiero zaczynasz swoją przygodę z gitem lub po prostu chcesz lepiej zrozumieć ideę gałęzi, zapraszam do dalszej lektury.

Czym są gałęzie w Git?

Gałąź to swego rodzaju wskaźnik kierujący do konkretnego zatwierdzenia (commit). Samo przeczytanie definicji może nie wystarczyć, aby w pełni pojąć istotę gałęzi. Aby je dobrze zrozumieć, warto przyjrzeć się, jak działają w praktyce.

Prześledźmy, jak profesjonalni programiści korzystają z gałęzi w swoich projektach na przykładach. Pamiętajmy, że na poniższych schematach każde kółko symbolizuje zatwierdzenie.

Zobrazujmy przepływ pracy z użyciem gałęzi na prostym, realnym scenariuszu:

  • Wyobraź sobie, że jesteś członkiem zespołu zajmującego się rozwojem produktu.
  • Pewnego dnia kierownik projektu informuje Cię o konieczności naprawienia kilku błędów w produkcie.
  • Zobowiązujesz się do ich usunięcia.
  • Twoje zatwierdzenia w systemie Git przedstawiają się następująco:

Zatwierdzenia w Git:

  • Czy pracujesz na głównej gałęzi (master/main)?
  • Oczywiście, że nie. Bezpośrednia praca na głównej gałęzi może prowadzić do poważnych problemów w przyszłości. Za chwilę wyjaśnimy dlaczego.
  • Zdecydowałeś się utworzyć nową gałąź z gałęzi głównej, aby zająć się naprawą błędów. W tym momencie obie gałęzie wskazują na to samo zatwierdzenie.

Nowa gałąź

  • Rozpocząłeś pracę nad poprawkami i wykonałeś 5 zatwierdzeń. Twoja nowa gałąź rozwija się zatem w przedstawiony poniżej sposób.

Nowe zatwierdzenia

  • Twoja nowa gałąź wskazuje na zatwierdzenie C8, podczas gdy gałąź główna nadal wskazuje na C3.
  • W tym momencie zespół informuje Cię o krytycznym błędzie, który wymaga natychmiastowej interwencji.
  • Sytuacja staje się napięta, ponieważ pracujesz już nad naprawą innych błędów.
  • Musisz więc odłożyć bieżącą pracę i skupić się na nowym, pilniejszym problemie.
  • Co z kodem, nad którym dotychczas pracowałeś?
  • Bez obaw, utworzyłeś nową gałąź do naprawy poprzednich błędów, więc Twój kod jest bezpieczny i znajduje się w gałęzi „naprawa-błędów”.
  • Teraz przełączasz się na gałąź główną i tworzysz kolejną gałąź nazwaną „krytyczna-naprawa-błędu”, aby rozpocząć pracę nad nowym, pilnym zadaniem.

Kolejna nowa gałąź

  • Załóżmy, że nie utworzyłeś nowej gałęzi dla poprzednich błędów. Co by się stało?
  • Musiałbyś usunąć cały kod napisany w celu naprawy poprzednich błędów i rozpocząć pracę nad nowymi. Dodatkowo, musiałbyś w przyszłości napisać kod od nowa, aby naprawić tamte wcześniejsze błędy.
  • Właśnie to jest problem, o którym mówiliśmy wcześniej.
  • Gałęzie pozwalają nam pracować nad kodem niezależnie.
  • Po naprawieniu nowego, krytycznego błędu, możesz zatwierdzić zmiany.

Nowe zobowiązania w gałęzi

  • Naprawa nowych błędów została zakończona.
  • Możesz teraz wrócić do wcześniejszej gałęzi, aby kontynuować pracę nad poprawkami błędów, nad którymi pracowałeś wcześniej.

Dzięki gałęziom zarządzasz swoimi zadaniami w uporządkowany sposób, bez niepotrzebnego chaosu. Wyobraźmy sobie, jak trudna byłaby praca bez tego rozwiązania.

Wnioski dotyczące gałęzi są oczywiste. Stanowią one ogromne ułatwienie dla programistów.

Przejdźmy teraz do konkretów i zobaczmy, jak usunąć gałąź.

Usuwanie gałęzi za pomocą klienta Git

Usuwając gałąź, zazwyczaj mamy na myśli usunięcie jej zarówno lokalnie, jak i zdalnie. Nie zdziw się więc, że usuniemy tę samą gałąź dwukrotnie. Zobaczmy, jak to zrobić.

  • Uruchom terminal lub cmd i przejdź do folderu z repozytorium git.
  • Wyświetl gałęzie obecne w repozytorium za pomocą polecenia `git branch -a`. Zobaczysz zarówno gałęzie lokalne, jak i zdalne.

Gałęzie repozytorium

  • Skopiuj nazwę gałęzi, którą chcesz usunąć (np. „one”).
  • Przejdź do gałęzi głównej (master/main) lub dowolnej innej gałęzi, która nie jest tą, którą chcesz usunąć.
  • Usuń gałąź lokalnie za pomocą polecenia `git branch -d nazwaGałęzi`. Zastąp `nazwaGałęzi` rzeczywistą nazwą usuwanej gałęzi.

Usuwanie gałęzi lokalnej

  • Sprawdź listę gałęzi za pomocą polecenia `git branch -a`. Nadal zobaczysz usuniętą gałąź na serwerze zdalnym, ponieważ jeszcze jej tam nie usunęliśmy.

Lista gałęzi

  • Aby usunąć gałąź z serwera zdalnego, użyj polecenia `git push nazwaZdalnegoSerwera -d nazwaGałęzi`. Zastąp `nazwaZdalnegoSerwera` i `nazwaGałęzi` odpowiednimi wartościami.

Usuwanie gałęzi zdalnej

  • Istnieje również skrócone polecenie do usuwania gałęzi zdalnej: `git push nazwaZdalnegoSerwera :nazwaGałęzi`.

Po ponownym sprawdzeniu gałęzi nie powinieneś już widzieć usuniętej gałęzi ani lokalnie, ani zdalnie, jeżeli prawidłowo wykonałeś powyższe kroki.

Lista gałęzi

Jeżeli spróbujesz usunąć gałąź, która nie istnieje, otrzymasz komunikat o błędzie.

Błąd usuwania

I to wszystko! Udało nam się pomyślnie usunąć gałąź zarówno lokalnie, jak i zdalnie.

Można to również zrobić w nieco inny sposób, korzystając z interfejsu webowego GitHub.

Zobaczmy, jak to wygląda.

Usuwanie gałęzi za pomocą interfejsu webowego GitHub

Metoda ta nie różni się znacząco od poprzedniej. W tym przypadku użyjemy interfejsu webowego GitHub do usunięcia gałęzi zdalnej. Gałąź lokalną usuniemy tak samo, jak w poprzedniej metodzie.

Zobaczmy, jak usunąć gałąź zdalną za pomocą aplikacji internetowej GitHub:

  • Otwórz stronę GitHub.
  • Zaloguj się na swoje konto.
  • Przejdź do repozytorium, z którego chcesz usunąć gałąź.

Repozytorium

  • Kliknij przycisk gałęzi, aby wyświetlić wszystkie gałęzie w repozytorium.

Gałęzie repozytorium

  • Zobaczysz listę gałęzi w repozytorium.
  • Na końcu wiersza z każdą gałęzią zobaczysz również ikonę usuwania.

Przycisk usuwania gałęzi

  • Kliknij ikonę usuwania, aby usunąć gałąź zdalnie.

Usunięta gałąź

  • Możemy przywrócić gałąź, klikając przycisk „Przywróć”. Będzie on dostępny, dopóki nie odświeżymy lub nie zamkniemy strony.

Przycisk przywracania

W ten sposób usunęliśmy gałąź zdalnie. Teraz przejdź do lokalnego repozytorium i usuń gałąź za pomocą polecenia, które widzieliśmy w pierwszej metodzie.

Teraz uruchom polecenie `git branch -a`, aby sprawdzić wszystkie gałęzie.

Lista gałęzi

Na liście nadal widzimy usuniętą gałąź zdalną. Co się dzieje? Jak sobie z tym poradzić? Przeanalizujmy poniższy scenariusz, w którym możesz znaleźć się w podobnej sytuacji w pracy:

Załóżmy, że pracujesz w zespole, a Twój kierownik projektu usunął zdalną gałąź po zakończeniu określonego zadania. Skąd o tym wiesz? Czy istnieje sposób, aby dowiedzieć się o zdalnie usuniętych gałęziach?

Musimy zsynchronizować lokalne i zdalne repozytoria pod kątem usuniętych gałęzi. Można to zrobić za pomocą następujących poleceń:

git remote prune nazwaZdalnegoSerwera
git fetch -p nazwaZdalnegoSerwera

Opcja `-p` jest skrótem dla polecenia `prune` i usuwa odniesienia do gałęzi zdalnej.

Fetch z przycinaniem

Teraz uruchom polecenie `git branch -a`, aby sprawdzić listę gałęzi.

Lista gałęzi

Zauważysz, że gałąź zdalna nie pojawia się już na liście. Gałąź lokalna nadal jest obecna, ale to nie stanowi problemu. Możesz ją zachować lub usunąć.

Przejrzyj więc gałęzie, które nie istnieją na serwerze zdalnym, a są nadal obecne lokalnie. Usuń lokalne gałęzie, które zostały usunięte na serwerze zdalnym.

Twoje gałęzie są teraz w porządku. Możesz kontynuować pracę.

Podsumowanie

Większość operacji w systemie Git wykonujemy z użyciem terminala lub cmd. Jest to wygodne, ale nie jest to jedyna opcja. Ostatecznie wybór metody zależy od Twoich preferencji.

Bez względu na to, jakiego narzędzia lub metody użyjesz, efekt końcowy będzie taki sam. Wybierz to, co Ci odpowiada i postępuj zgodnie z tym, aby osiągnąć cel. Usuwanie gałęzi wymaga dwóch kroków: usunięcia lokalnie i zdalnie.

W następnej kolejności dowiedz się, jak usunąć repozytorium w GitHub.

Miłego programowania! 😊

Czy artykuł był dla Ciebie przydatny? Podziel się nim z innymi!