Squash multiple commits

Squash multiple commits in Git — with the four heights of help laid out: do it now, make it easier for the next person to accept, work out the right move when you are stuck, and learn the pattern so it stops coming back.

4prompt heights
Open it in the interactive atlas →

The four heights

The same task, four distances: today's deadline, the next reviewer, the stuck moment, the pattern.

Execute — do the immediate task

+
I have five small WIP commits on branch feature/ui that should be one logical change for the code…
I have five small WIP commits on branch feature/ui that should be one logical change for the code review. Squash commits a4b2..HEAD into a single commit with a clear message 'UI: consolidate signup flow — closes UX-88', run the test suite, and push the squashed result to origin/feature/ui using force-with-lease.

Improve — make it easier to accept

+
Before I squash these five commits into one for review, make it easy for the reviewer: list what…
Before I squash these five commits into one for review, make it easy for the reviewer: list what each commit contains (files and key diffs), surface any commits that touch migrations or public APIs that should not be squashed, propose a single commit message that includes ticket UX-88 and the high-level change, and flag any tests that might break after squashing.

Decide — diagnose the stuck moment

+
On branch feature/ui I’ve made five incremental commits. I’m unsure whether to squash into one or…

I have multiple tiny commits but the PR should show one logical change.

On branch feature/ui I’ve made five incremental commits. I’m unsure whether to squash into one or leave some history. What’s the practical rule: which commits should stay separate (e.g., add tests, refactor) versus which should be combined before opening the PR, and what’s the least-risk sequence to squash and push without disturbing reviewers already commenting on individual commits?

Become — change the pattern

+
Across projects I waste time making many tiny commits and then rebasing/squashing before PRs. Where…

I keep creating noisy incremental commits on feature branches and then rebasing to tidy them.

Across projects I waste time making many tiny commits and then rebasing/squashing before PRs. Where is the friction coming from — my workflow, editor, or team expectations — and what concrete habit change will reduce wasted rebasing while keeping reviewable history? Suggest a default commit-sizing and a checklist to follow before pushing a branch.

Next to this one

Other version control work people do in Git.

Every task here came from the work, not from a feature list — which is why the prompts name what you want done and never the button that does it. The tool changes; the work does not.
Copyright © LLOS.ai · 2026 — original pedagogy, voice, and design — all rights reserved.

The rest of the map

Same library, five ways in.