git squash last 2 commits
git rebase -i HEAD~2
rebellion
git rebase -i HEAD~2
# Say your bug fix branch is called bugfix and you want to merge it into master
git checkout master
git merge --squash bugfix
git commit
# This will take all the commits from the bugfix branch,
# squash them into 1 commit,
# and merge it with your master branch.
# THIS TURNS YOUR WHOLE COMMIT HISTORY INTO ONE SINGLE COMMIT!
# BE CAREFUL!
git rebase --root -i
# In your editor, for each commit except the top, change `pick` to `squash`
git reset --soft HEAD~3 &&
git commit
$ git rebase -i HEAD~3
git rebase -i HEAD~5
# As the commit on line 1 is HEAD, in most cases you would leave this as
# pick. You cannot use squash or fixup as there is no other commit to
# squash the commit into.