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.
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
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
).
bisect,
fsck,
gc,
prune,
rebase,
reset,
tag
Compound aliases are not supported (e.g. git ac
for git add -A && git commit
).
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.
npm install -g gitjk
alias gitjk="history 10 | tail -r | gitjk_cmd"
npm install -g gitjk
alias gitjk="history 10 | tac | gitjk_cmd"
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"
Available under GPLv3 license