git-squash(1)

git-squash1

Squash n last changes up to a ref'ed commit

Usage

Overview

Squash the N last changes in the current branch, where N is the range of commits from the given ref up to HEAD.

Options

<source-branch>

Branch to squash on the current branch.

sha..HEAD will be squashed.

<--squash-msg>

Commit the squash result with the concatenated squashed committed messages. This option can not be used together with <commit-message>.

<commit-message>

If commit-message is given, commit the squashed result, otherwise the squash remains just added to the index and is not committed.

Examples

# squash changes and follow up with separate commit step
$ git squash my-other-branch
Updating a2740f5..533b19c
Fast-forward
Squash commit -- not updating HEAD
 my-changed-file | 1 +
 1 file changed, 1 insertion(+)
$ git commit -m "New commit without a real merge"
# squash and commit with given message
$ git squash HEAD~3 "Commit message"
# squash and commit and concatenate all messages
$ git squash --squash-msg @~3

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Author

Written by Jesús Espino <[email protected]>

Reporting bugs

<https://github.com/tj/git-extras/issues>

From git-extras 7.3.0-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.