gg is built around three basic principles:
- gg should be good enough to replace the git CLI for common workflows, but gg does not replace git. Asking the user to duck down into git for some arcana is perfectly acceptable if the alternative is adding complexity to gg.
- Every gg command should map cleanly to a sequence of git commands. gg’s implementation might interact with the .git directory directly for efficiency, but only if a set of git CLI invocations would produce equivalent results.
- Strive for Mercurial’s command set, but don’t be beholden to it. For example, gg uses git’s revision parsing logic instead of trying to replicate Mercurial’s. Branches act like Mercurial bookmarks rather than Mercurial’s branches, since Git doesn’t have an equivalent concept. Simplicity is preferred over exact compatibility.
Download the latest release (0.7.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.11.0 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