Delete Merged Branches with git
It's common courtesy to keep your git branch list clean, especially when colleagues need to fetch your remote branches. I'm a bit of a ... offender, when it comes to maintaining my git branch list. My colleague John Karahalis is not, however, and he hooked me up with an awesome git alias for deleting branches that have been merged into master. Place the following within your .git/config file:
[alias]
delete-merged-branches = "!f() { git checkout --quiet master && git branch --merged | grep --invert-match '\\*' | xargs -n 1 git branch --delete; git checkout --quiet @{-1}; }; f"
You can run this command via:
git delete-merged-branches
The script worked masterfully -- all branches merged into master were gone and I was left to evaluate which local branches were left to send pull requests for. Beautiful. Keep this around if you're a lazy git-ter like me!
![Regular Expressions for the Rest of Us]()
Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...
![fetch API]()
One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for. We've done well to create elegant APIs around XHR but we know we can do better. Our effort to...
![MooTools Star Ratings with MooStarRating]()
I've said it over and over but I'll say it again: JavaScript's main role in web applications is to enhance otherwise boring, static functionality provided by the browser. One perfect example of this is the Javascript/AJAX-powered star rating systems that have become popular over the...
![HTML5’s window.postMessage API]()
One of the little known HTML5 APIs is the window.postMessage API. window.postMessage allows for sending data messages between two windows/frames across domains. Essentially window.postMessage acts as cross-domain AJAX without the server shims. Let's take a look at how window.postMessage works and how you...
Nice tip – thanks
Thanks, very handy. Also found this https://gist.github.com/malclocke/943565 to do the same for all merged remote branches.
Also note that you can prune remote-tracking references (e.g., remotes/foo/patch-1) with either
fetch --prune fooorremote prune foo.