#git #cherry-pick #git-cherry-pick
#git #выбор вишни #git-cherry-pick
Вопрос:
Я пытаюсь найти способ проверять коммиты при выборе вишни. К сожалению, я не могу найти git-хук, который работает с cherry-pick
операцией. Каким было бы возможное решение для выполнения скрипта при фиксации, выбранной вишней?
Комментарии:
1.
prepare-commit-msg
вызывается дляgit cherry-pick
(без выхода-n
). Но, кажется, невозможно отличитьgit cherry-pick
от других команд, таких какgit rebase
.2. @ElpieKay Значит, при выборе вишни будет вызываться крючок ‘pre-rebase’?
3. @ziemowit141 Нет. Тогда можно отличить
git cherry-pick
отgit rebase
.
Ответ №1:
Как сказал другой в комментариях выше, прямого крючка выбора вишни нет.
Но я могу предложить вам обходной путь, который мог бы сработать при определенных условиях:
Некоторые интерфейсы git добавляют сообщение о фиксации по умолчанию к каждой фиксации выбора вишни.
Вот только в качестве примера GitExtension, где команда выбора вишни показывает вам диалог под названием «Фиксация выбора вишни» с отмечаемой опцией «Добавить ссылку на фиксацию в сообщение о фиксации». С этой опцией сообщение о фиксации будет выглядеть, например.:
Fix of security problem sp345
(cherry picked from commit c157f17740bad0c8c59ff3f693a747552008371d)
# Conflicts:
# authorization/secure/check.py
Для этого может быть написан перехват сообщения о фиксации:
- Проверка, содержит ли сообщение о фиксации
cherry picked from commit
- если да, то делайте все, что хотите, в «крючке выбора вишни»
Требуется только одно условие: чтобы каждый коммиттер следовал правилу добавления (с помощью инструмента или вручную) текста в сообщение о фиксации, который необходим для правильного определения его как выбранной вишни фиксации.