- In internen CIA-Entwicklungsdokumenten wurde ein einfacher Befehl entdeckt, der das alte Problem des Aufräumens von Git-Branches löst
git branch --merged | grep -v "\*\|master" | xargs -n 1 git branch -d
- Der Befehl löscht aus der Ausgabe von
git branch --merged alle gemergten Branches gesammelt, außer dem aktuellen Branch und master
- Es gibt auch eine für moderne Projekte angepasste Version, die
main und develop ausnimmt
- Der Befehl kann als Git-Alias registriert werden, um wiederkehrende Aufgaben zu automatisieren, und ist trotz seiner Einfachheit ein nützliches Werkzeug für dauerhafte Effizienzgewinne und ein aufgeräumtes Repository
Ein in Vault7 entdeckter Git-Tipp
- Die 2017 von WikiLeaks veröffentlichten Vault7-Dokumente enthielten die Hacking-Tools der CIA und interne Entwicklungsdokumente
- Auf einer dieser Seiten fand sich eine Sammlung von Git-Tipps und -Tricks, darunter meist übliche Hinweise zu Commit-Korrekturen, Stash und der Verwendung von
bisect
- Ein dort gefundener Einzeiler ist bis heute in meiner
~/.zshrc erhalten geblieben
Das Problem mit alten Branches
- In lokalen Git-Repositories sammeln sich mit der Zeit gemergte Branches an, was das Aufräumen erschwert
- Feature-Branches, Hotfixes und experimentelle Branches bleiben nach dem Merge bestehen, sodass die Ausgabe von
git branch unübersichtlich wird
- Mit
git branch --merged lassen sich gemergte Branches anzeigen, aber das manuelle Löschen ist umständlich
Der ursprüngliche Befehl aus dem CIA-Dokument
Modernisierte Version des Befehls
- Da die meisten Projekte den Branch
main verwenden, kann der Befehl wie folgt angepasst werden
git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d
- Wenn man ihn nach dem Deployment auf dem Branch
main ausführt, reduziert sich eine lange Liste von Branches auf nur noch wenige
- Der Befehl kann als Git-Alias registriert werden, um ihn bequem auszuführen
alias ciaclean='git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d'
- Danach genügt im Repository der Befehl
ciaclean, um das Aufräumen automatisch auszuführen
Effizienz und Praxistauglichkeit
- Dieser Befehl spart jede Woche ein paar Minuten und hilft dabei, die Branch-Liste sauber zu halten
- Er gilt als einfaches, aber praktisches Werkzeug, das kontinuierliche Produktivitätsgewinne bringt
Noch keine Kommentare.