我目前的分支命名规则如下:
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
共同之处只在于我需要第二个连字符之前的所有内容。
非常感谢任何帮助!!!