| git-squash-branch(1) |
| ==================== |
| |
| NAME |
| ---- |
| git-squash-branch - |
| include::_git-squash-branch_desc.helper.txt[] |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'git squash-branch' [-m <message>] |
| |
| DESCRIPTION |
| ----------- |
| |
| `git squash-branch` is a simple helper command. It takes all the commits on the |
| current branch from the 'merge_base' to HEAD, and reduces them to a single |
| commit. The new commit will contain a summary of all the commits which were |
| squashed, preceeded by a header message indicating that it's the result of a |
| squash (or the message you pass on the command line.). |
| |
| Squashing branches is useful when trying to rebase-update over branches which |
| were pushed to their upsteram (or committed by the 'Commit Queue'), and then |
| conflicting changes landed in upstream on top of the push/commit. If you know |
| that your branch was committed but linkgit:git-rebase-update[1] isn't able to |
| automatically clean it, you can squash the troublesome branch before `git |
| rebase-update`, and then when `git rebase-update` presents the conflict, you can |
| verify that the conflict diff is what you expected (and then skip it with |
| `git rebase --skip`). |
| |
| OPTIONS |
| ------- |
| |
| -m <message>:: |
| --message=<message>:: |
| Optional message to use for the first line of the squashed commit. If omitted, |
| it defaults to "git squash commit.". |
| |
| EXAMPLE |
| ------- |
| demo:1[] |
| |
| |
| include::_aliases.txt[] |
| |
| ---- |
| [alias] |
| git squash = squash-branch |
| ---- |
| |
| |
| SEE ALSO |
| -------- |
| linkgit:git-rebase-update[1] |
| |
| include::_footer.txt[] |
| |
| // vim: ft=asciidoc: |