Когда я делаю коммит - я не знаю есть ли там баги. Я делаю какую-то готовую часть задачи. Это может быть mvp или что-то ещё. Но "debug printf" я никогда не делаю. Если я нашёл какой-то фикс послднего коммита после дебагинга - я делаю amend no-edit
Я раньше тоже принтами дебажил, пока не понял насколько удобнее пользоваться гуи дебаггера. Тут тебе и все локальные переменные, и стэк вызовов, и вычисляемые выражения