git commit:预填充提交主题,但仍提示输入提交消息

时间:2018-12-16 17:30:35

标签: bash git githooks git-commit commit-message

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

这个问题与this one的不同之处在于,我希望填充提交主题,但仍希望得到提示,以输入提交消息,即在git bash中运行git commit -a会产生以下结果:

编辑:不当使用githooks阻止了链接问题中的可接受答案。因此,问题并不明显,可以将其标记为重复。

example in git bash

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

1 个答案:

答案 0 :(得分:5)

通过.git/hooks/prepare-commit-msg挂钩,您可以在输入提交消息提示之前准备提交消息。有了该钩子,您将收到提交消息作为第一个参数,并且可以例如回显到其中:

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;

如果您只有一些预定义的文本,并且不需要任何逻辑(例如获取分支名称,则可以使用提交消息模板。这是一个普通的旧文本文件,即commit.template配置指向。例如,如果您的文件是~/.gitmessage

$ git config commit.template ~/.gitmessage
相关问题