gg is an alternative command-line interface for Git heavily inspired by Mercurial. It’s designed for less typing in common workflows and make Git easier to use for both novices and advanced users alike.
git commit -atakes 13 characters to type.
gg citakes 5 to do the same thing (don’t worry, you can still type
- Built for GitHub and Gerrit. gg has built-in support for creating pull requests and creating Gerrit changesets straight from the command-line. No more context switching.
- Safer rebases.
gg rebaseautomatically detects common mistakes while rebasing and infers the correct change.
- Local branches match remote branches. Using
gg pullautomatically creates branches that match your remotes to avoid confusion.
- Optional staging. gg avoids using the staging area to save on typing and mistakes. However, gg takes great care to avoid perturbing the staging area, so for more advanced commits, you can keep using the same Git commands you’re used to.
- Works with existing Git tools. You can use or not use gg as much as you
want in your workflow. gg is just a wrapper for the Git CLI, so it works with
any hooks or custom patches to Git that your project may use. You can see the
exact Git commands gg runs by passing in
Download the latest release (1.0.1), which was released on . Binaries are available for Linux and macOS.
You must have a moderately recent copy of Git in your
PATH to run gg. gg is
tested against Git 2.20.1 and newer. Older versions may work, but are not
Once you have gg installed in your
PATH, the Working Locally guide will
show you how to use the basic commands.
- “I’m not sure if this is amazing or terrifying. But it’s definitely nifty!” -@rspier