Я использую мерзавца для своей локальной работы (и люблю ее так много), и я следую за рабочим процессом, подобным тому, описанному в этой статье. Так в основном, при запуске на новой возможности, я создаю ответвление для него, прохожу обычный взлом, затем фиксируют цикл, и когда я думаю, что сделан с ним, я давлю его в единственное использование фиксации git rebase --interactive master
, и я всегда заканчиваю тем, что редактировал множество сообщений о фиксации во что-то бывшее похожее на пример в статье, воспроизведенной здесь:
[#3275] User Can Add A Comment To a Post
* Adding Comment model, migrations, spec
* Adding Comment controller, helper, spec
* Adding Comment relationship with Post
* Comment belongs to a User
* Comment form on Post show page
Конечно, это после набора удаления # This is the xth commit message
строки и копия/вставка *
перед каждым сообщением о фиксации.
Теперь, что я задавался вопросом, там какой-либо путь состоит в том, чтобы настроить, как мерзавец повторно основывает-i выводы раздавленные сообщения о фиксации, таким образом, я не должен делать всего того взламывания?
(Я использую msysgit, если это имеет значение. Моим редактором является Блокнот ++.)
Спасибо!
Я не думаю, что нет никакого способа (кроме взлома исходного кода) изменить шаблон сообщения сквоша. Однако у вас есть пара вариантов:
Используйте команду git log, чтобы получить короткий список, что-то вроде `git log --pretty =" *% s "commit-1..commit-2, чтобы получить ваши маркеры. В Linux это очень возможно сделать из редактора - не знаю, как это работает с msysgit.
Пусть ваш редактор сделает всю работу за вас! Я не знаю, какой у вас редактор, поэтому я не могу сказать вам, что делать, но это, безусловно, было бы очень возможно в vim. (Идея заключается в следующем: найдите / # Это сообщение. * Commit /
, удалите пару строк, оставьте одну, удалите до следующего комментария)
Кроме того, это не то, что вы хотите в в этом случае, вероятно, но в довольно последних версиях git есть идентификатор fixup
, который вы можете использовать вместо сквоша - он делает то же самое, но отбрасывает сообщение о фиксации, поэтому, если у вас есть одна фиксация с реальным сообщением, а затем десятью исправлениями, вы можете просто пометить их все исправления и не удалять их одноразовые сообщения.
Вы можете внести --amend, когда захотите. Вы можете оформить заказ в предыдущей фиксации, которую вы хотите изменить, и исправить ее.