Create a gist now

Instantly share code, notes, and snippets.

Git aliases to make new commits that fixup or are squashed into previous commits
[alias]
fixup = !sh -c 'REV=$(git rev-parse $1) && git commit --fixup $@ && git rebase -i --autosquash $REV^' -
squash = !sh -c 'REV=$(git rev-parse $1) && git commit --squash $@ && git rebase -i --autosquash $REV^' -
$ git commit -am 'bad commit'
$ git commit -am 'good commit'
# Stage changes to correct the bad commit
$ git add .
# Fixup the bad commit. HEAD^ can be replaced by the SHA of the bad commit
$ git fixup HEAD^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment