1

假设我在一个分支上工作并且我运行git commit. 然后我被带到提交消息提示,我可以在其中输入提交主题和消息。我正在寻找的是一种预先填充提交主题的方法,同时仍然能够手动编写提交消息。

这个问题与这个问题不同,因为我希望填充提交主题,但仍希望被提示输入提交消息,即git commit -a在 git bash 中运行会产生类似的结果:

编辑: githooks 的不当使用阻止了来自链接问题的已接受答案的工作。因此,这些问题并不明显,可以标记为重复。

git bash 中的示例

我目前正在尝试使用分支名称预先填充提交主题,但将来我可能希望该文本成为其他内容。因此,首选通用解决方案(不是专门针对分支名称)。

4

1 回答 1

8

The .git/hooks/prepare-commit-msg hook allows you to prepare the commit message before entering the commit message prompt. Within that hook, you receive the commit message as the first argument, and could, e.g., echo into it:

COMMIT_MSG_FILE=$1

branch=$(git rev-parse --symbolic --abbrev-ref HEAD)

echo "Committing into branch: $branch" > $1;
echo "" >> $1;
echo "Some initial commit message body." >> $1;

If you just have some predefined text, and don't need any logic (such as getting the branch name, you could just use a commit message template. This is a plain old text file, that the commit.template configuration points to. E.g., if your file is ~/.gitmessage:

$ git config commit.template ~/.gitmessage
于 2018-12-16T17:52:48.327 回答