> Example: Commit message with both ! and BREAKING CHANGE footer:
> refactor!: drop support for Node 6
From Wikipedia's Code Refactoring:
> In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.
So if a code change is just a refactor, then its external behavior is unchanged, therefore it is not a breaking change. These two commit labels are incompatible.