Как я настраиваю формат перебазы мерзавцев - интерактивные сообщения о фиксации?

Я использую мерзавца для своей локальной работы (и люблю ее так много), и я следую за рабочим процессом, подобным тому, описанному в этой статье. Так в основном, при запуске на новой возможности, я создаю ответвление для него, прохожу обычный взлом, затем фиксируют цикл, и когда я думаю, что сделан с ним, я давлю его в единственное использование фиксации 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, если это имеет значение. Моим редактором является Блокнот ++.)

Спасибо!

11
задан Joakim 1 June 2016 в 17:08
поделиться

2 ответа

Я не думаю, что нет никакого способа (кроме взлома исходного кода) изменить шаблон сообщения сквоша. Однако у вас есть пара вариантов:

  • Используйте команду git log, чтобы получить короткий список, что-то вроде `git log --pretty =" *% s "commit-1..commit-2, чтобы получить ваши маркеры. В Linux это очень возможно сделать из редактора - не знаю, как это работает с msysgit.

  • Пусть ваш редактор сделает всю работу за вас! Я не знаю, какой у вас редактор, поэтому я не могу сказать вам, что делать, но это, безусловно, было бы очень возможно в vim. (Идея заключается в следующем: найдите / # Это сообщение. * Commit / , удалите пару строк, оставьте одну, удалите до следующего комментария)

Кроме того, это не то, что вы хотите в в этом случае, вероятно, но в довольно последних версиях git есть идентификатор fixup , который вы можете использовать вместо сквоша - он делает то же самое, но отбрасывает сообщение о фиксации, поэтому, если у вас есть одна фиксация с реальным сообщением, а затем десятью исправлениями, вы можете просто пометить их все исправления и не удалять их одноразовые сообщения.

4
ответ дан 3 December 2019 в 08:54
поделиться

Вы можете внести --amend, когда захотите. Вы можете оформить заказ в предыдущей фиксации, которую вы хотите изменить, и исправить ее.

0
ответ дан 3 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: