Преимущество использования системы контроля версий или git в частности состоит в том, что благодаря этому вы можете повысить эффективность своей разработки, в частности скорость обнаружения проблем в коде. Для этого делайте коммиты как можно чаще, желательно каждый раз, когда всё работает (ничего не сломалось) и вы продвинулись хотя бы на один самый минимальный шаг. Тогда если вы делаете новый шаг и что-то не получается, вы посмотрев в чём разница (и внимательно изучив свои изменения) сможете быстрее обнаружить источник проблемы, так как с большей вероятностью он будет в последних изменениях, чем в существующем коде, если вы всегда стараетесь заливать в систему контроля версий или git только то, что работает, а если что-то не работает стараетесь это как можно быстрее исправить. Психологически нам сложно принять, что мы ошибаемся, наши суждения ложны, или мы не правы, но обычно проблема именно в этом. Но если мы не принимаем свою ложность, мы начинаем искать проблему там где её точно нет - в коде который работает.