Say your bug fix branch is called
bugfix and you want to merge it into
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
git checkout master
Switches to your
git merge --squash bugfix
Takes all commits from the
bugfix branch and groups it for a 1 commit with your current branch.
(no merge commit appears; you could resolve conflicts manually before following commit)
Creates a single commit from the merged changes.
-m parameter lets you modify a draft commit message containing every message from your squashed commits before finalizing your commit.