gg
the cookbook of git goodies

gg
helps you work with git
more efficiently, saving you keystrokes for your most prized projects.
Think of gg
as a wrapper for the git
commands that you run all the time.
Getting Started
After the super painless installation, suppose we want to clone the awesome spark shell script (created by Zach Holman).
Alright, let's switch into that directory.
After making a quick change, let's check the status of our clone.
Looks like we haven't staged our changes.
In the standard git workflow, we would have to git add -A
and then git commit -m "Updated example in README."
.
With gg
, we can simply gg c Updated example in README.
and we're good to go.
Let's check our clone's status again.
Looking good!
Installation
gg
can be installed via the Node Package Manager (npm
).
$ npm install -g gitgoodies
If that doesn't work, try running it as root. $ sudo npm install -g gitgoodies
You can also get up and running without npm, but it is not recommended to do so.
$ git clone https://github.com/qw3rtman/gg.git
$ cd gg
$ npm install -g
$ sudo npm install -g
gg
relies on Node.js and git
.
Don't foget to alias gg='noglob gg'
(alias gg
to noglob gg
) if you're using prezto, oh-my-zsh, or something similar.
Usage
Initializing repositories

$ gg i
$ gg init
$ gg initialize
Cloning repositories

Adding changes

$ gg a
$ gg aa # add all
$ gg add
Committing changes

Pushing commits

Pulling commits

Fetching commits

Viewing status

Viewing log

Contributing
Contributions are always welcome.
We follow Airbnb's coding standard, so make sure you use that as a guideline.
Fork our code, make a new branch, and send a pull request.
TODO:
- support for branches
- handling for non-fast-forwards (when you need to pull first, merge, and then push)
- handling for merge conflicts
- handling for freshly initialized git repositories status
- support for specifying path of repository initialization and cloning
- unit tests