Interessante, nunca usei e acredito que nunca vou usar, mais por uma questão de que faço commit para cada um dos arquivos e sigo muito a sério o SRP (Single Responsibility Principle).
Foco no que estou fazendo por arquivo dentro de uma branch. Se a branch é voltada para corrigir um bug, faço um commit por cada arquivo, detalhando o que alterei em cada parte de cada um deles e então envio.
"Ah, mas você vai ter que alterar X e Y, coisas que não fazem parte do bug, mas sim de uma feature."
Então estou fazendo uma branch errada e executando uma task diferente. Foco em tasks: se a task é corrigir bug, corrijo o bug, se logo em seguida preciso subir uma modificação da UI, vou para uma branch específica para isso.
"Ah, mas e se você vai alterar algo na UI em relação ao bug?"
Então não é uma feature, é literalmente parte da correção do bug, então está tudo certo.