Poszukałem w Google i jest kilka bardzo długich wątków na ten temat i żaden z nich nie pomaga. Myślę, że robię coś złego. Mam oddział o nazwie Test_Branch
. Kiedy próbuję go usunąć za pomocą zalecanej metody, pojawia się następujący błąd:
Nie można usunąć gałęzi „Test_Branch” wyewidencjonowanej w „[lokalizacja katalogu]”.
Poza tym nie mam żadnych innych informacji. Mogę łatwo zdmuchnąć zdalny oddział, ale lokalny oddział nie zniknie.
git branch
, co to mówi?Odpowiedzi:
Przełącz się na inną gałąź i usuń
Test_Branch
w następujący sposób:Jeśli powyższe polecenie powoduje błąd -
The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it
i nadal chcesz go usunąć, możesz wymusić jego usunięcie za pomocą-D
zamiast-d
, jak:Aby usunąć również
Test_Branch
z pilota, wykonaj:źródło
git status
lubgit branch
; jeśli zmieniasz bazę Test_branch, po prostu sprawdzenie innej gałęzi / zatwierdzenia tego nie naprawi. Zamiastgit rebase --abort
tegogit checkout --detach
i ostateczniegit branch -D Test_branch
error: you need to resolve your current index first
i po prostu chcą WYJŚĆ? EDYCJA - Rozwiązaniegit reset --
:;git checkout -D [branch_name]
Uff ..git fetch --prune
ponieważ usunąłem już oddział na zdalnym, ale nadal pojawiał się pogit pull
wgit branch -a
.Prawdopodobnie wyewidencjonowałeś Test_Branch i nie możesz go usunąć, gdy jest to Twoja bieżąca gałąź. Sprawdź inną gałąź, a następnie spróbuj usunąć Test_Branch.
źródło
Wpadłem na to dzisiaj i przejście do innego oddziału nie pomogło. Okazało się, że w jakiś sposób informacje o moim drzewie roboczym uległy uszkodzeniu i istnieje drzewo robocze z tą samą ścieżką do folderu, co mój katalog roboczy, ze
HEAD
wskazaniem na gałąź (git worktree list
). Usunąłem.git/worktree/
folder, do którego się odnosił igit branch -d
działał.źródło
Jeśli utworzyłeś wiele drzew roboczych za pomocą git workktree , musisz uruchomić,
git prune
zanim będziesz mógł usunąć gałąźźródło
git worktree prune
To zadziałało ...
Usunąłem tam foldery w folderze .git / worktrees, a następnie spróbowałem „git delete -D nazwa-gałęzi”.
źródło
W moim przypadku pozostały niezatwierdzone zmiany z poprzedniej gałęzi. Użyłem następujących poleceń, a następnie usuwanie zadziałało.
git checkout *
git checkout master
git branch -D
źródło
Jak inni wspomnieli, nie możesz usunąć obecnego oddziału, w którym pracujesz.
W moim przypadku wybrałem „Test_Branch” w programie Visual Studio i próbowałem usunąć „Test_Branch” z Sourcetree (Git GUI). I wyświetlał się poniżej komunikat o błędzie.
Przełączono do innej gałęzi w programie Visual Studio i udało się usunąć „Test_Branch” z Sourcetree.
Mam nadzieję, że pomoże to komuś, kto używa Visual Studio i Sourcetree .
źródło