На каких этапах стоит комитить код?
есть простое правило: больше коммитов, меньше конфликтов. 

это не значит, что нужно коммитить каждую минуту. это значит что как только вы написали законченный код, даже если это фрагмент другой задачи, его стоит коммитить.
1) когда работаешь над конкретным файлом/фичей
2) когда на данном этапе фича завершена

Это может привести к большому кол-ву коммитов, однако можно безболезненно откатываться и т.д.