Easy Git -- git for mere mortals

What is Easy Git (eg)?

In short, Easy GIT is a single-file wrapper script for git, designed to make git easy to learn and use. (If you are not familiar with what git is, this page will make no sense to you.) In more detail:

Existing Git users

EasyGit is designed to make git easier to use and learn, not to extend git's functionality. Because of this, you won't find new capabilities in EasyGit. However, you don't need retraining either; eg is mostly backward compatible with git, and any incompatibilities can be discovered naturally and innocuosly during normal workflow (well, except for the eg push default -- see below). All you need to do is replace 'git' with 'eg' in your commands.

The two biggest shockers for existing git users are the changes in defaults to diff (which include both staged and unstaged changes by default) and push (which pushes the current branch instead of matching refs by default). The latter is potentially problmatic, as it could result in pushing changes the user didn't want. However, the current git default is equally bad for many new users. The only safe thing for both sets is probably to require users to specify what to push in all cases; however, that seems pretty annoying for lots of very basic setups. I guess the push default of eg is my one big ugly incompatibility with git.

Those curious about the precise differences between eg and git and the rationale for these changes, can read my verbose explanations.


EasyGit's documentation is meant as built-in help; however, you can view it online.

There's also a (pdf) presentation, An Introduction to (Easy) Git (more of a capability overview than a tutorial, though example commands are shown).


Three easy steps:

If you aren't one of those "shoot first and ask questions later" types, just fire off an 'eg help' to get oriented. You may also find the (easy) git for svn users page helpful.


You can follow development of eg by cloning a copy. Use either

git clone git://gitorious.org/eg/mainline.git eg
eg clone git://gitorious.org/eg/mainline.git eg

Other similar projects

I feel that Easy Git is different from the others in the field in its combination of goals (a) it focuses on trying to be easy to learn for former cvs/svn users, (b) it tries to serve as a training tool for core git rather than trying to replace core git entirely, (c) it tries to remain backward compatible to core git (so that users already familiar with git don't need any new training and to make it easier for core git to adopt changes in eg), and (d) it's only a single file script to make it easier to try out.

There are some other interesting alternatives out there that decided to concentrate on different goals, including: