Разобрать имя ветки, инициировать коммит с именем в сообщении коммита - PullRequest
0 голосов
/ 07 января 2019

Моя команда использует общее соглашение об именах для имен филиалов, которое включает в себя номер задачи Jira в имени филиала.

feature/ACD-1664_update-api-call

feature/VZ-1943_new-provider-template

hotfix/RV-977_fix-loading-issue


Я хочу создать git alias, который автоматически заглушит сообщение о фиксации, которое включает в себя номер задачи Jira . В идеале это некоторый bash-скрипт, который будет анализировать имя ветви и выводить команду commit -m с предварительно созданной первой частью сообщения.

  1. Мне нужно regex из сообщения коммита.

Мне нужно вытащить ACD-1664 с feature/ACD-1664_update-api-call

  1. Выведите эту строку в терминал в заглушенной команде commit, например:

git commit -m "ACD-1664 | <cursor>"

1 Ответ

0 голосов
/ 07 января 2019

Хотя это не то решение, о котором вы просили, я хотел бы намекнуть на другой способ решения этой проблемы с помощью ловушки фиксации:

Вы можете поместить в файл .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"

(Спасибо, ребята, за улучшения синтаксиса bash, сделанные с вашей помощью здесь )

Тогда он автоматически добавит к вашим сообщениям коммита имя ветки, что и поможет JIRA.

В тех редких случаях, когда вы предпочитаете НЕ активировать ловушку, сделайте следующее:

git commit -n -m"Your message"
...