Git grep分支名称并重新格式化为提交消息

时间:2015-06-30 16:26:30

标签: git bash shell branch

您好我想从分支名称创建默认消息。我知道我们可以使用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"

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