您好我想从分支名称创建默认消息。我知道我们可以使用hook来做这个但是我遇到了一些grep函数的问题。
例如,如果我们的分支名称是“test-1234-my-first-feature”,我该如何将其转换为“[test-1234]”?
我认为这是纯shell脚本问题,可以提供一些帮助吗?
我们可以通过此How to add Git's branch name to the commit message?
获取分支BRANCH=`git branch | grep '^\*' | cut -b3-`
FILE=`cat "$1"`
echo "$BRANCH $FILE" > "$1"
答案 0 :(得分:0)
添加到prepare-commit-msg
的此类内容将完成此任务:
#!/usr/bin/env sh
# prepend a task number to a commit message automatically
# if amend, don't do anything
if ! [ -z $3 ] ;then
exit
fi
branch=$(git rev-parse --symbolic-full-name --abbrev-ref HEAD)
task_number=$(echo $branch | cut -d - -f1-2)
if [ -z $task_number ] ;then # when task has not been retrieved from branch name, exit
exit
fi
# enclose task number in square brackets
text=[${task_number}]
sed -i "1s/^/$text \n/" $1