Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
git squash last two commits into one
git rebase --interactive HEAD~2
# we are going to squash c into b
pick b76d157 b
pick a931ac7 c
# squash c into b
pick b76d157 b
s a931ac7 c
# after that just edit the commit message
# This is a combination of 2 commits.
# The first commit's message is:
# This is the 2nd commit message:
Copy link

JDR36 commented Sep 7, 2017

Great gist. FYI for convenience you can make the parameter of the fixup git alias optional and set it to a default value of 1 by replacing ${1} with ${1-1}, e.g.:
fixup = "!f(){ git reset --soft HEAD~${1-1} && git commit --amend -C HEAD; };f"

So then you can just do:
git fixup # merges the last commit into its parent

Copy link

Thank you! this comments are golden!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment