Мое соглашение об именовании ветвей как таковое:
ticket-45-my-new-feature-branch-description
В настоящее время я использую этот код в своем файле .git/hooks/prepare-commit-msg для добавления каждого сообщения фиксации с именем ветки как таковым:
BRANCH_NAME=$(git branch 2>/dev/null | grep -e ^* | tr -d ' *')
if [ -n "$BRANCH_NAME" ] && [ "$BRANCH_NAME" != "master" ]; then
echo "[$BRANCH_NAME] $(cat $1)" > $1
fi
Конечный результат:
[ticket-45-my-new-feature-branch-description] test commit
То, что я пытаюсь выполнить, выводится следующим образом:
[ticket-45] test commit
Брауни указывает, можем ли мы его использовать:
[ticket-45] test commit
Мне бы хотелось сохранить имена описательных ветвей, но усечь добавленный текст в сообщениях фиксации. Я уверен, что мне нужно использовать некоторое регулярное выражение, но я действительно не знаю, как это сделать. Я должен упомянуть, что у нас сразу несколько проектов, поэтому имена ветвей разные, например:
ticket-123-branch-name
abc-22-my-branch
ua-11-my-feature
Единственное, что является общим, это тот факт, что мне нужно все до второго "-".
Любая помощь очень ценится!!!