-
Notifications
You must be signed in to change notification settings - Fork 0
Home
=====
(This project is currently under development)
EZGit is a command-line interface based on Ruby. The goal of EZGit is to simplify the daily git tasks used in a multi-team enterprise development environment without the need to fully understand the full complex beauty of Git. With EZGit, committers with any level of Git knowledge can work in the repo with confidence and consistency.
EZGit abstracts away many Git concepts that are consistent sources of confusion. Concepts such as...
- Where do branches live? On my local machine or on the remote? Who cares? EZGit handles it for you.
- What's the difference between the working directory, the stage(or index), and the local repo? I could spend hours explaining it to you, but if you don't really want to know, EZGit is here to make that stuff go away.
EZGit replaces git's complex and overloaded commands with simple, intentional, ruby-styled names.
In future updates, EZGit will implement a branching strategy that has been honed and refined over the last two years by a large agile enterprise development shop. The concepts of merging (and rebasing) will be equally simplified so that you can concentrate on your code, and not on, "how the heck do I merge these changes?!"
Best of all, EZGit is still Git. So if you are a Git-Fu master, you can go back to using your favorite, obtuse Git commands at any time. They'll always be there waiting for you when you need to do the complex stuff.
If you try EZGit and find that it doesn't quite work for you, drop me a line and let me know why. I'm happy to look at other use cases and consider including them in future updates.
Cheers,
AJ
To intall:
gem install ezgit
EZGit changes a lot (especially during this development phase). To update your existing installs, you can use gem update ezgit
, or you can use EZGit's self-update command:
ez update
Once installed, take a look at the help menu:
ez -h
EZGit is a simple interface for working with git repositories.
Usage:
ez [<options>] <commands>
commands are:
clean! Wipes all untracked and ignored files.
clean Wipes all untracked files, but allows ignored files to remain.
clone Creates a copy of a repository.
commit Creates a commit for all current file changes.
create Create a new branch in the current state.
delete! Completely delete a given branch.
goto! Move to the location in the tree specified by a commit id. All changes will be lost.
info Shows files status and current branches.
move Switch and move changes to the given branch.
pull Pulls the latest changes from the remote.
push Pushes the current branch changes to the remote.
reset! Deletes changes in all tracked files. Untracked files will not be affected.
switch! Abandon all changes and switch to the given branch.
switch Switch to the given branch if there are not changes.
tree Shows git tree history for the current branch
update Attempts to self-update from rubygems.org.
options are:
--dry-run-flag, -n: Forces all commands to be passive.
--debug, -d: Shows command level debug info.
--version, -v: Print version and exit
--help, -h: Show this message
To report issues: https://github.com/ajjames/ezgit/issues
This project makes use of Trollop (Copyright 2007 William Morgan). An excellent light-weight command-line parser.