Löschen eines lokalen Zweigs mit Git


134

Ich habe gegoogelt und es gibt mehrere sehr lange Themen zu diesem Thema, von denen keine zu helfen scheint. Ich glaube, ich mache etwas falsch. Ich habe eine Filiale namens Test_Branch. Wenn ich versuche, es mit der empfohlenen Methode zu löschen, wird folgende Fehlermeldung angezeigt:

Zweig 'Test_Branch' kann nicht gelöscht werden, der unter '[Verzeichnisverzeichnis]' ausgecheckt ist.

Abgesehen davon bekomme ich keine weiteren Informationen. Ich kann den Remote-Zweig einfach wegblasen, aber der lokale Zweig wird nicht verschwinden.


Übrigens bin ich völlig neu bei Git. Ich habe es erst in den letzten Tagen benutzt. Ich habe mehrere Online-Kurse besucht und ein paar Bücher gelesen, und die Antworten scheinen auch nicht da zu sein.
Bob Wakefield

Wenn Sie ausführen git branch, was sagt es aus?
Coredump

19
Im Bild passiert Folgendes
coredump

Git Branch gibt mir * Test_Branch Master
Bob Wakefield

Der Stern sagt Ihnen, in welchem ​​Zweig Sie sich gerade befinden. Dies bestätigt, was die Antworten sagen
Coredump

Antworten:


244

Wechseln Sie zu einem anderen Zweig und löschen Sie ihn Test_Branchwie folgt:

$ git checkout master
$ git branch -d Test_Branch

Wenn der obige Befehl einen Fehler anzeigt - The branch 'Test_Branch' is not fully merged. If you are sure you want to delete itund Sie ihn dennoch löschen möchten, können Sie das Löschen erzwingen, indem Sie -Danstelle von-d :

$ git branch -D Test_Branch

Führen Sie Folgendes Test_Branchaus, um auch von der Fernbedienung zu löschen :

git push origin --delete Test_Branch

34
Das Wechseln der Filialen hat mich dazu gebracht - ein guter Fang! Sie können den Zweig nicht löschen, wenn Sie darin aktiv sind. ;-)
SliverNinja - MSFT

2
Wenn Sie ein paar verschiedene Kassen ausprobieren und trotzdem die gleiche Meldung erhalten, sehen Sie sich die Ausgabe von git statusoder an git branch. Wenn Sie Test_branch neu gründen, wird dies durch einfaches Auschecken eines anderen Zweigs / Commits nicht behoben. Stattdessen git rebase --abortdann git checkout --detachund schließlichgit branch -D Test_branch
Droide

3
Ein weiterer Beweis dafür, dass Git für "Git ist schrecklich" steht. Je öfter ich es benutze, desto mehr dieser lächerlichen Reifen musst du durchspringen. Zumal Sie wahrscheinlich gleich wieder in den gleichen Zweig wechseln möchten.
user949300

Und was ist, wenn jemand dies zurückbekommt, wenn er versucht, die Filialen zu wechseln? error: you need to resolve your current index firstund sie wollen nur verlassen? EDIT - Lösung : git reset --; git checkout -D [branch_name]Puh ..
Paul

21

Sie haben Test_Branch wahrscheinlich ausgecheckt und können es möglicherweise nicht löschen, solange es sich um Ihren aktuellen Zweig handelt. Schauen Sie sich einen anderen Zweig an und versuchen Sie dann, Test_Branch zu löschen.


14

Ich bin heute darauf gestoßen und der Wechsel zu einem anderen Zweig hat nicht geholfen. Es stellte sich heraus, dass meine Arbeitsbauminformationen irgendwie beschädigt waren und es einen Arbeitsbaum mit demselben Ordnerpfad wie mein Arbeitsverzeichnis gab, HEADder auf branch ( git worktree list) zeigte. Ich habe den .git/worktree/Ordner gelöscht, der darauf verwiesen hat, und habe git branch -dgearbeitet.



1

Das hat bei mir funktioniert ...
Ich habe die Ordner dort im Ordner .git / worktrees entfernt und dann versucht, "git delete -D branch-name".


1

In meinem Fall gab es unverbindliche Änderungen gegenüber dem vorherigen Zweig. Ich habe folgende Befehle verwendet und dann funktioniert gelöscht.

Git Checkout *

Git Checkout Master

Git-Zweig -D


0

Wie bereits erwähnt, können Sie den aktuellen Zweig, in dem Sie arbeiten, nicht löschen.

In meinem Fall habe ich "Test_Branch" in Visual Studio ausgewählt und versucht, "Test_Branch" aus Sourcetree (Git GUI) zu löschen. Und wurde unter Fehlermeldung.

Zweig 'Test_Branch' kann nicht gelöscht werden, der unter '[Verzeichnisverzeichnis]' ausgecheckt ist.

In Visual Studio zu einem anderen Zweig gewechselt und konnte "Test_Branch" aus Sourcetree löschen.

Ich hoffe, dies hilft jemandem, der Visual Studio & Sourcetree verwendet .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.