Как хороший разработчик, я хочу фиксировать рано и часто
То есть "release / publi sh рано и часто", а не коммитить. Когда ваш коммит не имеет отношения к стандартному рабочему процессу Git, потому что коммиты являются локальными, поэтому они могут быть изменены до того, как вы опубликуете sh (и вы должны изменить их, см. Ниже ).
Все ли в клетке sh свои коммиты совершают в умение: ... тип коммита? Существуют ли другие рабочие процессы?
Есть много рабочих процессов, и не все хороши. Например, и сжатие всех коммитов в один, и оставление временных / WIP-коммитов - неправильные подходы.
Коммиты должны быть независимыми единицами работы с течением времени. Если ваша функция может быть разделена на 5 коммитов, которые имеют смысл сами по себе, то вам следует это сделать. Смысл в том, чтобы сделать их как можно более простыми для понимания и максимально обратимыми.
Именно поэтому сжатие всего в один коммит делает обзор невозможным, если функция достаточно велика. Аналогичным образом, временные или WIP-коммиты бесполезны для вашего журнала и будущих исследований.
Я предлагаю вам взглянуть на сам проект Git, а также Linux ядро (проект, для которого он был создан) делает это.