LinuxCommandLibrary

git-squash

Squash multiple commits into a single commit.

TLDR

Merge all commits from a specific branch into the current branch as a single commit

$ git squash [source_branch]
copy


Squash all commits starting with a specific commit on the current branch
$ git squash [commit]
copy


Squash the n latest commits and commit with a message
$ git squash HEAD~[n] "[message]"
copy


Squash the n latest commits and commit concatenating all individual messages
$ git squash --squash-msg HEAD~[n]
copy

Copied to clipboard