解析分支名称,使用提交消息中的名称启动提交

时间:2019-01-07 16:14:36

标签: regex bash git git-alias

我的团队对分支名称使用通用的命名约定,在分支名称中包含 Jira 任务编号。

1024

feature/ACD-1664_update-api-call

feature/VZ-1943_new-provider-template


我想创建一个hotfix/RV-977_fix-loading-issue,它将自动存出包含 Jira 任务号的提交消息。理想情况下,一些bash脚本将解析分支名称,并用预先创建的消息的第一部分回显git alias命令。

  1. 我需要commit -m发出确认消息。

我需要从regex

中拉出 ACD-1664
  1. 以类似feature/ACD-1664_update-api-call的命令在终端中回显此字符串:

commit

1 个答案:

答案 0 :(得分: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"

(感谢大家在here的帮助下对bash语法进行了改进)

然后,它将自动在您的提交消息之前添加分支名称,这在JIRA中很有效。

在极少数情况下,您不想触发钩子,请执行以下操作:

git commit -n -m"Your message"