Home

Awesome

gitjk

Greenkeeper badge

If you just ran a git command that you didn't mean to, this program will either undo it, tell you how to undo it, or tell you it's impossible to undo. Based on a joke I posted a while ago.

Examples

Asking for undo-ing advice.

git init
gitjk

This created a .git folder in the current directory. You can remove it.
rm -rf .git

Asking to fix it automatically

git add file.js
gitjk -f

This added file.js to the changes staged for commit. All changes to file.js will be removed from
staging for this commit, but remain saved in your file.
Running... git reset file.js
Completed

Coverage

Included:

add,
archive,
branch,
cat-file,
checkout,
clone,
commit,
diff,
fetch,
grep,
init,
log,
ls-tree,
merge,
mv,
pull,
push,
remote,
revert,
rm,
show,
stash,
status

Basic aliases are also supported (e.g. git cm for git commit).

Not included:

bisect,
fsck,
gc,
prune,
rebase,
reset,
tag

Compound aliases are not supported (e.g. git ac for git add -A && git commit).

Install

You need to run npm install and alias to fully install. The module is named gitjk but you need to set up an alias to pipe the most recent commands into the program.

OSX or BSD

npm install -g gitjk
alias gitjk="history 10 | tail -r | gitjk_cmd"

Ubuntu / other Linux

npm install -g gitjk
alias gitjk="history 10 | tac | gitjk_cmd"

Different Terminals

If you are using fish, place this is in ~/.config/fish.config (from lunixbochs on Hacker News):

alias jk="history | head -n+10 | tail -r | gitjk_cmd"

If you are using iTerm

alias gitjk="history | tail -r -n 10 | gitjk_cmd"

License

Available under GPLv3 license