Посмотрите на флаг -t <file>
с git commit
Это позволяет вам указать файл, который будет использоваться в качестве основы для сообщения фиксации. Редактор по-прежнему вызывается, но по крайней мере вы можете использовать сообщение коммита, которое вы создали заранее.
В качестве альтернативы есть еще один рабочий процесс, который вы можете использовать с git, который может лучше соответствовать вашему способу работы:
С помощью git вы можете работать на отдельной ветке от основной линии и делать множество небольших коммитов со своими собственными сообщениями. Хотя каждый из этих коммитов сам по себе может не решить проблему, над которой вы работаете, они обеспечивают способ сохранения промежуточных состояний вашей работы с теми же сообщениями, которые вы, возможно, обновляли в файле сообщений фиксации.
Как только вы будете готовы зафиксировать сумму вашей работы, вы можете использовать команду rebase
и squash
эти коммиты вместе. После этого ваш редактор будет вызываться со всеми отдельными сообщениями, которые вы использовали для небольших коммитов, которые затем вы можете редактировать вместе в одном сообщении.
Это намного проще, чем звучит здесь, и, на мой взгляд, это более мерзкий подход.