Другой подход * к этому заключается в обеспечении того, чтобы в сообщениях фиксации содержалось имя ветви, которое в JIRA, скорее всего, получено из названия проблемы.
Для этого коллегам необходимо включить в свои .git/hooks
каталог файла с именем commit-msg
со следующим содержимым:
#!/bin/bash
current_branch="$(git rev-parse --abbrev-ref HEAD)"
tmp=$(mktemp) || exit
echo "$current_branch $(cat "$1")" > "$tmp"
mv "$tmp" "$1"
Затем, когда кто-то совершает коммит в ветви функций ABC-1234-customers-cant-log-in
, команда коммитов выглядит так:
git commit -m "Awesome changes"
... фактически выдаст следующее сообщение о коммите:
ABC-1234-customers-cant-log-in Awesome changes
... и JIRA затем свяжет коммит с проблемой.
Мы внедрили эту политику в моеми у него есть несколько преимуществ:
- больше не нужно забывать номера выпусков JIRA в сообщениях о фиксации
- выигрыш времени
- немного проще анализировать сообщения о фиксации, когда вам это нужно
(Как обозначение, этот автоматизированный beahviour также может быть отключен по требованию, с git commit -n
)
* (обратите внимание, что эти два решения не являются взаимоисключающими.На самом деле, йоВы вполне могли бы хотеть и то, и другое: Adil для целостности удаленного репо, и это для эффективности локального использования)