💥 Check out this insightful post from Hacker News 📖
📂 **Category**:
✅ **What You’ll Learn**:
In 2017, WikiLeaks published Vault7 – a large cache of CIA hacking tools and internal documents. Buried among the exploits and surveillance tools was something far more mundane: a page of internal developer documentation with git tips and tricks.
Most of it is fairly standard stuff, amending commits, stashing changes, using bisect. But one tip has lived in my ~/.zshrc ever since.
The Problem
Over time, a local git repo accumulates stale branches. Every feature branch, hotfix, and experiment you’ve ever merged sits there doing nothing. git branch starts to look like a graveyard.
You can list merged branches with:
git branch --merged
But deleting them one by one is tedious. The CIA’s dev team has a cleaner solution:
The original command
git branch --merged | grep -v "\*\|master" | xargs -n 1 git branch -d
How it works:
git branch --merged— lists all local branches that have already been merged into the current branchgrep -v "\*\|master"— filters out the current branch (*) andmasterso you don’t delete eitherxargs -n 1 git branch -d— deletes each remaining branch one at a time, safely (lowercase-dwon’t touch unmerged branches)
The updated command
Since most projects now use main instead of master, you can update the command and exclude any other branches you frequently use:
git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d
Run this from main after a deployment and your branch list goes from 40 entries back down to a handful.
I keep this as a git alias so I don’t have to remember the syntax:
alias ciaclean='git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d'
Then in your repo just run:
ciaclean
Small thing, but one of those commands that quietly saves a few minutes every week and keeps me organised.
Thanks for reading
You can follow me here for my latest thoughts and projects
⚡ **What’s your take?**
Share your thoughts in the comments below!
#️⃣ **#Cleaning #merged #git #branches #oneliner #CIAs #leaked #dev #docs**
🕒 **Posted on**: 1771599634
🌟 **Want more?** Click here for more info! 🌟
