1

我的团队对分支名称使用通用命名约定,其中在分支名称中包含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-1664feature/ACD-1664_update-api-call

  1. 在一个 stubbed-outcommit命令中将此字符串回显到终端,例如:

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

4

1 回答 1

1

虽然这不是您要求的解决方案,但我想暗示另一种方法来解决这个问题,使用提交挂钩:

您可以在 .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"
于 2019-01-07T16:20:39.557 回答