Я использую git для управления проектом C ++. Когда я работаю над проектами, мне трудно организовывать изменения в коммиты, когда меняются вещи, связанные со многими местами.
Например, я могу изменить интерфейс класса в файле .h
, что повлияет на соответствующий файл .cpp
, а также на другие файлы, использующие его. Я не уверен, разумно ли все это объединять в один большой коммит.
Интуитивно, я думаю, что коммиты должны быть модульными, каждый из которых соответствует функциональному обновлению / изменению, чтобы соавторы могли выбирать вещи соответствующим образом. Но кажется, что иногда неизбежно включать множество файлов и изменений, чтобы функциональные изменения действительно работали.
Поиск не дал мне ни хорошего предложения, ни советов. Поэтому мне интересно, может ли кто-нибудь дать мне несколько лучших практик при выполнении коммитов.
PS. Я уже давно пользуюсь git и знаю, как в интерактивном режиме добавлять / ребазировать / разбивать / исправлять / ... Я спрашиваю только о ФИЛОСОФИИ.
Обновление: спасибо за все советы. Может быть, это следует извлечь из практики. Я буду держать проблему открытой в течение некоторого времени, чтобы увидеть, есть ли еще предложения.