git-squash(1) - squash N last changes up to a ref'ed commit

1. git-squash(1)
2. Git Extras
3. git-squash(1)

## NAME

`git-squash` - squash N last changes up to a ref'ed commit

## SYNOPSIS

`git-squash` [<--squash-msg>] <source-branch|commit ref> [<commit-message>]

## DESCRIPTION

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.

<commit reference> A commit reference (has to be from the current branch) can also be used as the first argument. A range of commits 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

## AUTHOR

Written by Jesús Espino <jespinog@gmail.com>

## REPORTING BUGS

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

## SEE ALSO

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

2. October 2020
3. git-squash(1)