Determining Pushable Commits

Eric Tsiliacos
1 min readAug 13, 2020
Image by Vladimir Khorikov

Breaking down our work into smaller commits can help us manage complexity but how do we know if we may need to first squash a set of commits before pushing?

A revertible commit exhibits high cohesion.

If reverting a commit leaves dead code, failing tests, or a broken application, then the set of changes do not form a united whole. The smallest unit of change should be able to stand on its own.

A pickable commit exhibits low coupling.

Can the commit be cherry-picked without needing other commits to come along with it? We want to be able to decompose our changes in such a way as to make them shareable.

--

--