Android

Jak usunąć lokalną i zdalną gałąź git

#git Zdalne repozytorium i fork - Kurs git po polsku #9/12

#git Zdalne repozytorium i fork - Kurs git po polsku #9/12

Spisu treści:

Anonim

Oddziały są częścią codziennego procesu rozwoju i jedną z najpotężniejszych funkcji w Git. Po połączeniu oddziału nie służy to żadnemu celowi poza badaniami historycznymi. Powszechną i zalecaną praktyką jest usuwanie gałęzi po udanym scaleniu.

Ten przewodnik opisuje, jak usuwać lokalne i zdalne gałęzie Git.

Usuń lokalny oddział Git

Aby usunąć lokalną gałąź Git, użyj komendy git branch z opcją -d ( --delete ):

git branch -d branch_name

Deleted branch branch_name (was 17d9aa0).

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

Jak mówi powyższy komunikat, możesz wymusić usunięcie, używając opcji -D , która jest skrótem do --delete --force :

git branch -D branch_name

Uwaga: jeśli usuniesz nie połączoną gałąź, utracisz wszystkie zmiany w tej gałęzi.

Aby wyświetlić listę wszystkich gałęzi, które zawierają nie git branch --no-merged zmiany, użyj polecenia git branch --no-merged .

Jeśli spróbujesz usunąć bieżący oddział, otrzymasz następujący komunikat:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

Nie możesz usunąć gałęzi, w której aktualnie się znajdujesz. Najpierw przejdź do innej gałęzi, a następnie usuń nazwę branch_name :

git checkout master git branch -d branch_name

Usuń zdalny oddział Git

W Git gałęzie lokalne i zdalne są osobnymi obiektami. Usunięcie oddziału lokalnego nie powoduje usunięcia oddziału zdalnego.

Aby usunąć zdalną gałąź, użyj polecenia git push z opcją -d ( --delete ):

git push remote_name --delete branch_name

Gdzie remote_name pochodzi zwykle:

git push origin --delete branch_name

… - branch_name

Istnieje również alternatywne polecenie usunięcia zdalnej gałęzi, co najmniej dla mnie trudniejsze do zapamiętania:

git push origin remote_name:branch_name

error: unable to push to unqualified destination: branch_name The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to '[email protected]:/my_repo'

W takich sytuacjach musisz zsynchronizować listę oddziałów z:

git fetch -p

Opcja -p każe Gitowi usunąć wszelkie odwołania do zdalnego śledzenia, które już nie istnieją w zdalnym repozytorium przed pobraniem.

Wniosek

W tym samouczku nauczyłeś się, jak usuwać lokalne i zdalne gałęzie Git. Oddziały są w zasadzie odniesieniem do migawki twoich zmian i mają krótki cykl życia. Gdy gałąź zostanie scalona z główną (lub inną główną), nie jest już potrzebna i powinna zostać usunięta.

Za pomocą polecenia git branch możesz także zmieniać nazwy, tworzyć i wyświetlać lokalne i zdalne gałęzie Git.