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.
git branch
, was sagt es aus?Antworten:
Wechseln Sie zu einem anderen Zweig und löschen Sie ihn
Test_Branch
wie folgt:Wenn der obige Befehl einen Fehler anzeigt -
The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it
und Sie ihn dennoch löschen möchten, können Sie das Löschen erzwingen, indem Sie-D
anstelle von-d
:Führen Sie Folgendes
Test_Branch
aus, um auch von der Fernbedienung zu löschen :quelle
git status
oder angit branch
. Wenn Sie Test_branch neu gründen, wird dies durch einfaches Auschecken eines anderen Zweigs / Commits nicht behoben. Stattdessengit rebase --abort
danngit checkout --detach
und schließlichgit branch -D Test_branch
error: you need to resolve your current index first
und sie wollen nur verlassen? EDIT - Lösung :git reset --
;git checkout -D [branch_name]
Puh ..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.
quelle
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,
HEAD
der auf branch (git worktree list
) zeigte. Ich habe den.git/worktree/
Ordner gelöscht, der darauf verwiesen hat, und habegit branch -d
gearbeitet.quelle
Wenn Sie mit git worktree mehrere Arbeitsbäume erstellt haben , müssen Sie diese ausführen,
git prune
bevor Sie den Zweig löschen könnenquelle
git worktree prune
Das hat bei mir funktioniert ...
Ich habe die Ordner dort im Ordner .git / worktrees entfernt und dann versucht, "git delete -D branch-name".
quelle
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
quelle
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.
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 .
quelle