O motivo mais importante para fazer confirmações frequentes, pequenas e significativas é ajudar a entender o histórico do código. Em particular, é muito difícil entender como o código mudou, se é difícil gerar diferenças compreensíveis.
A opção 1 ofusca o histórico de alterações que você fez, mas, caso contrário, não causará problemas.
A opção 2 ofusca o histórico de alterações que você fez, possivelmente um pouco menor que a opção 1, mas pode causar outros problemas para você ou para outras pessoas se eles assumirem ou concluirem que os commits são distintos, por exemplo, podem ser mesclados em outros ramos independentemente. A menos que haja uma forte razão prática pela qual isso é preferível à opção 1, isso é menos ideal do que isso.
A opção 3 é a melhor, sendo tudo igual, mas, como você descreveu em outro lugar, isso exigiria quantidades "extremas" de tempo ou incorreria em outros custos significativos, você terá que ponderar esses custos com os benefícios esperados de criando confirmações mais limpas.
Com base nas informações que você forneceu, eu optaria pela opção 1. Talvez você deva configurar lembretes solicitando que você efetue suas alterações?
Prototipagem e Reescrita
Outra consideração a ter em mente, especialmente à luz de sua observação sobre ser o único programador, e minha suspeita de que você esteja trabalhando em uma base de código relativamente nova, é que provavelmente é bom desenvolver hábitos diferentes com relação a confirmar alterações quando você está criando um novo código para a criação de protótipos em vez de manter ou estender o código existente. Provavelmente não existe uma divisão muito nítida entre os dois, mas acho que ainda é uma distinção útil.
Ao criar um novo código para criação de protótipo, confirme sempre que desejar salvar suas alterações, quase certamente em uma ramificação, mas talvez em um projeto separado. Ou talvez apenas trabalhe completamente fora do controle de versão. Em vez disso, você pode se concentrar em reunir evidências sobre a viabilidade de várias hipóteses ou projetos que estiver considerando. Costumo escrever pequenos protótipos usando ferramentas diferentes, por exemplo, LINQPad em vez de código do Visual Studio para C #.
Quando você validar uma hipótese ou design específico, reescreva-o em seu projeto principal, idealmente em uma ramificação, e faça os pequenos e significativos commits que ajudarão melhor a compreensão dos outros (incluindo você futuro) quanto à natureza das mudanças você está fazendo.