To me, I have trouble trying to make "small commits" since I forget or create something that creates something else that creates something else.
Isso é um problema. Parece que você precisa aprender para dividir seu trabalho em partes menores e mais gerenciáveis.
O problema com grandes commits é:
- Em um projeto de várias pessoas, há uma chance maior de que seus commits causem conflitos para outros desenvolvedores resolverem.
- É mais difícil descrever com precisão o que foi feito nas mensagens de log.
- É mais difícil controlar a ordem em que as alterações foram feitas e, portanto, entender a causa dos problemas.
- Aumenta a probabilidade de perder muito trabalho não confirmado.
Às vezes grandes commits são inevitáveis; por exemplo. se você tiver que mudar uma API principal. Mas normalmente não é o caso. E se você se encontrar nessa situação, provavelmente é uma boa ideia criar um branch e fazer o seu trabalho lá ... com muitos commits pequenos ... e reintegrar quando terminar.
(Outro caso é quando você faz uma importação inicial, mas isso NÃO é problemático do ponto de vista dos problemas listados acima.)