How to squash merge in Git
Tuesday, November 4, 2025
Squash merging combines all commits from a feature branch into a single commit when merging to maintain a clean, linear project history.
As the creator of CoreUI, a widely used open-source UI library, and with over 25 years of experience in software development, I’ve managed thousands of feature merges where clean commit history is crucial for project maintenance.
The most effective approach is using git merge --squash, which combines all changes from the feature branch into staging without creating a merge commit.
This method is perfect for feature branches with multiple work-in-progress commits that should be consolidated.