The change is a feature, it is by deffinition a "logical commit".
Like "migrated this JMS queue to kafka", that can span across tens of files.
Just because the commit is big doesn't mean it's not also logical and consistent.
In fact the reverse can be said -- if you split the commit in smaller commits (and your build is still green with each commit) -- each commit can seem contrieved, and good luck later on, when you try to understand how a piece of code works and how this xml/drl/properties file is connected to this piece of code if you have multiple commits.
If it's a single commit, you can usually narrow down your search tremendously and can easily see the logical deoendencies.
So for me, if it's a JIRA issue, I usually squash my commits before I push.