Menu
Coddy logo textTech

Git: usuwanie lokalnej gałęzi

Ostatnia aktualizacja

Gdy praca z gałęzi jest już scalona, usuwasz ją przez git branch -d <branch>. Git odmówi, jeśli gałąź ma commity, które nie są nigdzie scalone: to zabezpieczenie. Żeby usunąć ją mimo to, użyj wielkiego -D. Usunięcie lokalnej gałęzi nigdy nie rusza jej kopii w repozytorium zdalnym; do tego służy osobne polecenie.

Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.

git branch -d usuwa tylko wskaźnik gałęzi; scalone commity zostają w historii main.

Składnia

PolecenieCo robi
git branch -d featureUsuwa feature (tylko jeśli jest scalona)
git branch -D featureWymusza usunięcie feature, nawet niescalonej
git branch -d branch1 branch2Usuwa kilka gałęzi naraz

Typowe przypadki

CelPolecenie
Usunąć scaloną gałąźgit branch -d old-feature
Wymusić usunięcie niescalonej gałęzigit branch -D scratch
Usunąć gałąź, na której jesteśgit switch main, potem git branch -d feature
Sprawdzić, które gałęzie są scalonegit branch --merged

Przykład krok po kroku

Skończ funkcję, scal ją i posprzątaj lokalną gałąź.

KrokPolecenieWynik
1git switch mainZejdź z gałęzi, którą chcesz usunąć
2git merge featurePrzenieś commity funkcji do main
3git branch -d featureUsuń już scaloną gałąź

Najczęstsze pytania o usuwanie lokalnej gałęzi

Czym różni się git branch -d od -D?
-d to bezpieczne usuwanie: Git usuwa gałąź tylko wtedy, gdy jej commity są już scalone z inną gałęzią, więc nie stracisz pracy przez przypadek. -D to wymuszone usuwanie (skrót od --delete --force): usuwa gałąź bez względu na wszystko, nawet jeśli ma niescalone commity. Domyślnie używaj -d, a po -D sięgaj tylko wtedy, gdy na pewno chcesz wyrzucić commity z tej gałęzi.
Jak usunąć gałąź, na której aktualnie jestem?
Nie da się usunąć gałęzi, na której aktualnie jesteś. Najpierw przełącz się na inną gałąź przez git switch main (albo git checkout main), a potem uruchom git branch -d feature. Próba usunięcia bieżącej gałęzi kończy się błędem "Cannot delete branch ... checked out".
Czy usunięcie lokalnej gałęzi usuwa ją też na GitHubie?
Nie. git branch -d usuwa gałąź tylko z lokalnego repozytorium. Gałąź w repozytorium zdalnym (GitHub, GitLab itp.) zostaje, dopóki nie usuniesz jej osobno przez git push origin --delete feature.
Czy da się odzyskać usuniętą gałąź?
Zwykle tak, jeśli usunięcie było niedawno. Uruchom git reflog, żeby znaleźć commit, na który wskazywała gałąź, a potem odtwórz ją przez git branch feature <commit-hash>. Commity nie są od razu usuwane przez garbage collector, więc gałąź usuniętą przez pomyłkę zwykle da się przywrócić.
Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom te polecenia w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Jeśli chcesz uporządkowanej nauki, darmowy interaktywny kurs Git w Coddy krok po kroku prowadzi od pierwszego commita przez tworzenie gałęzi po scalanie.
Ilustracja języków programowania w Coddy

Ucz się Gita z Coddy

ZACZNIJ