Jerk is a project mainly written in Shell, it's free.
A simpler, yet more annoying, git
You can either run jerk.sh every single time, or add it to the path and just call jerk. The common way of doing this is to put jerk.sh somewhere you will never move it (ie for linux a /lib/ directory) and then to have a symlink from /usr/bin/jerk to */lib/jerk.sh. Be careful! if you move your jerk.sh, you will break your symlink.
I wanted to learn git a little better, as well as try my hand at some shell scripting. I was also curious about how hard it was to write an api for a command line utility--it can be surprisingly annoying--I think this is endemic to writing any kind of api, however.
Also, to have a command line utility that insults you. Finally.
saves the FILENAME file with message MESSAGE.
saves the DIRNAME directory with message MESSAGE.
saves all files and directories with message MESSAGE
saves all files and directories that were already in the repo with message MESSAGE
tells jerk to ignore files with REGEX. Note: HASH must be escaped like so: \HASH
stops remembering and destroys FILENAME
stops remembering and destroys DIRNAME
goes back a commit. NB: doing this twice will undo and redo.
goes back INTEGER commits.
pulls changes other people have made from the server and pushes your commits on top of all of them.
pushes your changes to master. NB: Your local repo must be up-to-date (ie you must have pulled recently)
Displays your changes since your last save
shows you your most recent logs
loads the state from the id you display. Hint: get the id from running a git log and matching it with the commit message you want.
gets the current status of your repository
cancels all potential changes to your repository, reverting to your last save. will not revert a pull.
Write an installation script that adds it to your path automagically.