After a while, my local repo becomes cluttered with branches, and
git branch outputs an awkwardly
long list. I want to delete some of those branches to bring that list back under control; but I
can't always remember which branches I want to keep from the branch names alone; and inspecting them
one at a time and then running
git branch -D in a separate step, is painful.
git curate is intended to ease this pain. It steps you through the local branches of a repo one at
a time, outputting the following information about each:
- Last commit date
- Last commit author
- Last commit subject
- Whether the branch has been merged into the current HEAD
- The status of the branch relative to the upstream branch it is tracking (if any)
You can then select whether to delete or keep each branch as you go.
git curate does not run
git fetch prior to generating its output. If you want to
be sure that the "Status vs upstream" column reflects the latest state of the upstream branches
as per their remote repository, you should run
git fetch first.
You'll need Ruby v2.1.10 or higher. Run
gem install git_curate
to install the executable.
From within a git repo, run:
This will step you through your local branches one at a time, asking you whether to keep or
delete each branch in what should be a fairly self-explanatory fashion. Note the branch
you are currently on will not be included in the list, as
git does not allow you to delete
the branch you're on.
If you just want to view the information about your local branches without stepping through
them interactively, enter
git branch --list or
git branch -l.
(Note the space after
git—we have effectively added a subcommand to
git just by installing
a gem. When
git_curate is installed, an executable is created called
In general, for any executable of the form git-xyz in your
git will automatically
recognize xyz as a subcommand, and will run that executable whenever that subcommand is invoked.)
Bug reports and pull requests are welcome on GitHub.
To start working on
git clone and
cd into your fork of the repo, then run
For a list of Rake tasks that are available in the development environment, run
The gem is available as open source under the terms of the MIT License.