tool

module
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2023 License: Apache-2.0

README

gg: Git with less typing

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.

  • Abbreviations. git commit -a takes 13 characters to type. gg ci takes 5 to do the same thing. Don't worry, you can still type gg commit: most common operations have shorter aliases.
  • 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 rebase automatically detects common mistakes while rebasing and infers the correct change.
  • Local branches match remote branches. Using gg pull automatically 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 --show-git.

Learn more at gg-scm.io.

Getting Started

Read the installation guide for the most up-to-date information on how to obtain gg. To build from source, follow the instructions in CONTRIBUTING.md.

License

Apache 2.0. This is not an official Google product.

gg depends on golang.org/x/sys, which is released under a BSD license.

Directories

Path Synopsis
cmd
gg
gg is Git with less typing.
gg is Git with less typing.
internal
escape
Package escape provides functions for escaping strings for different contexts.
Package escape provides functions for escaping strings for different contexts.
filesystem
Package filesystem provides concise data structures for filesystem operations and functions to apply them to local files.
Package filesystem provides concise data structures for filesystem operations and functions to apply them to local files.
flag
Package flag provides a command-line flag parser.
Package flag provides a command-line flag parser.
sigterm
Package sigterm provides graceful termination signal utilities.
Package sigterm provides graceful termination signal utilities.
terminal
Package terminal provides functions for querying and manipulating an interactive terminal.
Package terminal provides functions for querying and manipulating an interactive terminal.
misc
extractdocs
extractdocs analyzes gg's source to find command documentation.
extractdocs analyzes gg's source to find command documentation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL