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

Git grep branch name and reformat into commit message

您好,我想根据分支名称创建一条默认消息。我知道我们可以使用 hook 来做到这一点,但我在使用 grep 函数时遇到了一些问题。

例如,如果我们的分支名称是 "test-1234-my-first-feature', how can I convert it into "[test-1234]"?

我认为这是纯粹的shell脚本问题,有什么帮助吗?

我们可以得到分支,通过这个How to add Git's branch name to the commit message?

BRANCH=`git branch | grep '^\*' | cut -b3-`
FILE=`cat ""`
echo "$BRANCH $FILE" > ""

像这样添加到您的 prepare-commit-msg 就可以了:

#!/usr/bin/env sh

# prepend a task number to a commit message automatically

# if amend, don't do anything
if ! [ -z  ] ;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/"