Confirme todas as mudanças significativas que você acha que quebram alguma coisa. A única coisa que você não deve confirmar são as mudanças de estilo, porque elas não incorporam alterações na lógica. Mas, caso contrário, quanto menores as alterações que você confirmar, melhor.
Quanto menor a consolidação, mais detalhado você pode documentar o processo de reflexão, que é um aspecto de um bom registro de consolidação. Uma boa revisão de código não deve ser apenas sobre o resultado do código, mas também o processo de reflexão.
Além disso, ter muitos commits pequenos facilita a divisão, um recurso muito pouco usado do controle de versão, que me salvou muitas horas procurando bugs de agulhas nas bases de código do palheiro.
Dividindo em resumo; Descubra um problema na base de código atual. Em seguida, escolha uma confirmação no changelog em que você tem certeza de que o problema específico não existia. Comece verificando o commit no meio, entre a versão "boa" e a "ruim". Teste para verificar se o problema ainda está presente. Se for, você precisa olhar mais para trás, no meio do "bom" e do commit testado anteriormente. Se o problema desaparecer, ele foi introduzido após essa alteração específica; portanto, é necessário verificar o meio entre o commit "ruim" e o commit testado anteriormente. Repetir. Eventualmente, você terminará com o commit que introduziu o problema. Mas somente se você tiver pequenas confirmações, caso contrário, você saberá em que grande pilha de mudanças o problema ocorreu.
Aqui está como ele funciona com o Git, mas o principal se aplica a qualquer controle de versão.