Last updated: March 2026
Use this page to squash multiple commits into one in GitKraken Desktop when you want a cleaner branch history before sharing or merging work. It covers the selection requirements for squash, what happens to the resulting commit message, and why force push may be required if the original commits were already pushed.
Requirements and limits
- Workflow scope: Combine multiple local commits into one commit
- Selection requirement: Select two or more commits in a consecutive straight ancestor-descendant line
- Oldest-commit requirement: The oldest selected commit must have a parent
- Limitation: Squash is not available for merge commits
- Post-squash behavior: Edit the resulting commit message in the Commit Panel
- Remote-history warning: If the original commits were already pushed, updating the remote with the squashed history usually requires a force push
Quick Start
- In the Commit Graph, hold Shift or Cmd/Ctrl and click to select two or more commits. The selected commits must be consecutive, in a straight ancestor-descendant line, and the oldest must have a parent commit.
- Right-click the selection and choose Squash [N] commits.
- The squashed commit appears in the Commit Panel. Click the commit message to edit and consolidate the messages from the original commits.
If you need to push a squashed commit that was already pushed: GitKraken Desktop will warn that your local branch is behind the remote. Click Force Push to overwrite the remote branch with the squashed history. Force pushing is destructive and rewrites remote history, so use it only on branches where teammates are not actively working.
Squashing is not available for merge commits or commits that do not meet the consecutive ancestor-descendant requirement.
Squash requirements
You can squash commits if they meet all the following conditions:
- More than one commit is selected
- Commits are in a straight line (ancestor-descendant)
- Commits are chronologically consecutive
- The oldest selected commit has a parent
To select multiple commits, hold Shift or Cmd/Ctrl and click the commits.

After squashing, the new commit appears in the Commit Panel. You can click the commit message to amend and consolidate the messages from the squashed commits.

How to push a squashed commit
Avoid pushing commits to your remote that you intend to squash. If you’ve already pushed them, and then squash locally, your local and remote branches will differ.

When you push, GitKraken shows a warning that your local branch is behind the remote. This is expected, because the squashed commit rewrites history.

To resolve this:
- Click to overwrite the remote branch with your squashed history

Warning: Force pushing is a destructive action. It replaces remote history and can disrupt teammates working on the same branch. Use with caution.