Zusätzlich zur Antwort von Schlei (die perfekt funktioniert), kann dies in Visual Studio integriert werden, sodass das Beschneiden lokaler Branches, wenn ein Git-Repository in VS geöffnet ist, wirklich einfach ist.
Sie können die External Tools-Funktionalität verwenden, um sh.exe (Git Bash) mit einem bestimmten Verzeichnis und Befehl aufzurufen. Dies befindet sich im Menüpunkt Tools > External Tools (in VS 2022 17.1.0). Die von mir verwendeten Parameter lauten wie folgt:
Befehl: {Pfad-zum-Git-Installationsort}\bin\sh.exe
Argumente: --cd=$(SolutionDir) -c "git fetch -p ; git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d"
Ausgangsverzeichnis: $(SolutionDir)
Screenshot von Git Prune Local Branches
Es ist erwähnenswert, dass dies nur funktioniert, wenn die Lösung, die Sie in VS geöffnet haben, sich in einem Git-Repo-Verzeichnis befindet.
Abschließende Anmerkung - dies kann über die Benutzeroberfläche für Tastenkombinationen von Visual Studio in Einstellungen > Allgemein > Tastatur und Suche nach Tools.ExternalCommand[n] gebunden werden, wobei n die Position in der Tabelle für externe Befehle ist, an der Sie dieses externe Tool positioniert haben (sie können im Dialogfeld Tools > External Tools neu angeordnet werden). Siehe Screenshot unten.
Tastenkombination für einen External Tools-Befehl
12 Stimmen
Möglicher Duplikat von Lokale Branches entfernen, die nicht mehr auf Remote sind
8 Stimmen
One-Liner, plattformübergreifend, sieht nicht so aus, als hätte die Katze auf deiner Tastatur geschlafen:
npx git-removed-branches
(Probelauf) odernpx git-removed-branches --prune
(für echte). Sie müssen bereits node.js installiert haben. Siehe Antworten unten für Details.0 Stimmen
Ich denke normalerweise, dass diese Dinge bewusst und nicht automatisch durchgeführt werden sollten, da man sich sonst selbst öffnet, etwas zu löschen, was man nicht löschen wollte. Deshalb würde ich bei git branch -d localBranchName und git push origin --delete remoteBranchName bleiben.
3 Stimmen
Für IntelliJ-Benutzer bietet das folgende Plugin genau das, was Sie benötigen: plugins.jetbrains.com/plugin/10059-git-branch-cleaner