Squashing

Download git eBook

Remarks

What is squashing?

Squashing is the process of taking multiple commits and combining them into a single commit encapsulating all the changes from the initial commits.

Squashing and Remote Branches

Pay special attention when squashing commits on a branch that is tracking a remote branch; if you squash a commit that has already been pushed to a remote branch, the two branches will be diverged, and you will have to use git push -f to force those changes onto the remote branch. Be aware that this can cause issues for others tracking that remote branch, so caution should be used when force-pushing squashed commits onto public or shared repositories.

If the project is hosted on GitHub, you can enable "force push protection" on some branches, like master, by adding it to Settings - Branches - Protected Branches.

Related Examples

Stats

488 Contributors: 15
Wednesday, March 8, 2017
Licensed under: CC-BY-SA

Not affiliated with Stack Overflow
Rip Tutorial: info@zzzprojects.com

Download eBook