git cherry-pick -x: ссылка в деталях, а не в резюме
Учитывая коммит с сообщением "foo", т.е. только с краткой частью, я делаю git cherry-pick -x the_commit
, Результатом является новый коммит с сообщением
FooТеперь это не хорошо, потому что это сводка из двух строк, которая выглядит как ошибка в git.
(вишня выбрана из коммита eb42a6475d2c2e4fff7a1b626ce6e27eec21e886)
Но как я могу сделать так, чтобы git сделал комментарий похожим на приведенный ниже, не редактируя его вручную?
Foo
(вишня выбрана из коммита eb42a6475d2c2e4fff7a1b626ce6e27eec21e886)
1 ответ
Вы правы, что это похоже на недосмотр. Вы можете отправить электронное письмо в список рассылки git и посмотреть, что они думают! Пока же вам придется справиться с этим самостоятельно.
Хороший способ справиться с этим - вообще избежать этого: сделать исходное сообщение о коммите хорошим. Если он уже многострочный, с пустой строкой, добавленная строка из вишневого пика не испортит формат.
Чтобы обойти это, учитывая, что выбранный вишней коммит имеет однострочное сообщение, как вы говорите, вы можете использовать -e
вариант для вишни. Если вы используете Vim, в худшем случае вы должны нажать ggo<Esc>ZZ
позаботиться об этом.
Или вы можете написать обработчик prepare-commit-msg. Все, что вам нужно, это:
#!/bin/bash
sed -i '2s/^(cherry picked/\n&' "$1"