Git 提交挂钩以添加消息
Git commit hook to prepend message
我最初的需求略有不同,得到了很好的答案:
Prepend Git commit message with partial branch name
但是,我的需求发生了一些变化,我的正则表达式无法正常工作,我希望有人能给我一些指导。
我目前的分支命名规则是:bug/ab-123/branch-description
我需要做的是在每个 git 提交消息前加上每个正斜杠之间的值,因此在本例中为 ab-123
。另外,我希望它大写为 AB-123
.
我要找的最终结果是:
AB-123 my commit message goes here
我当前的准备提交消息正则表达式是:
branch=$(git symbolic-ref --short HEAD)
trimmed=$(echo "$branch" | sed -e 's:^[a-z]+\/\([a-z]{2,}-\d+\)::' -e \
'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/')
echo $trimmed | sed -e 's/f/b/' | tr [a-z] [A-Z] | awk '{print("ls " )}'
但是这没有任何作用。关于我做错了什么的任何想法?谢谢!
如果你有一个像这样的漂亮的分隔字符串,你真的不需要正则表达式:
branch=$(git symbolic-ref --short HEAD)
trimmed=$(echo $branch | cut -f2 -d/ | tr '[:lower:]' '[:upper:]')
所以给出:
$ git status
On branch bug/ab-123/foobar
nothing to commit, working directory clean
我们得到:
$ branch=$(git symbolic-ref --short HEAD)
$ echo $branch
bug/ab-123/foobar
并且:
$ trimmed=$(echo $branch | cut -f2 -d/ | tr '[:lower:]' '[:upper:]')
$ echo $trimmed
AB-123
这给你 "the values in between each forward slash",转换为大写。
我最初的需求略有不同,得到了很好的答案: Prepend Git commit message with partial branch name
但是,我的需求发生了一些变化,我的正则表达式无法正常工作,我希望有人能给我一些指导。
我目前的分支命名规则是:bug/ab-123/branch-description
我需要做的是在每个 git 提交消息前加上每个正斜杠之间的值,因此在本例中为 ab-123
。另外,我希望它大写为 AB-123
.
我要找的最终结果是:
AB-123 my commit message goes here
我当前的准备提交消息正则表达式是:
branch=$(git symbolic-ref --short HEAD)
trimmed=$(echo "$branch" | sed -e 's:^[a-z]+\/\([a-z]{2,}-\d+\)::' -e \
'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/')
echo $trimmed | sed -e 's/f/b/' | tr [a-z] [A-Z] | awk '{print("ls " )}'
但是这没有任何作用。关于我做错了什么的任何想法?谢谢!
如果你有一个像这样的漂亮的分隔字符串,你真的不需要正则表达式:
branch=$(git symbolic-ref --short HEAD)
trimmed=$(echo $branch | cut -f2 -d/ | tr '[:lower:]' '[:upper:]')
所以给出:
$ git status
On branch bug/ab-123/foobar
nothing to commit, working directory clean
我们得到:
$ branch=$(git symbolic-ref --short HEAD)
$ echo $branch
bug/ab-123/foobar
并且:
$ trimmed=$(echo $branch | cut -f2 -d/ | tr '[:lower:]' '[:upper:]')
$ echo $trimmed
AB-123
这给你 "the values in between each forward slash",转换为大写。