git 提交:预填充提交主题但仍提示提交消息

git commit: pre-populate commit subject but still prompt for a commit message

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

这个问题与this one的不同之处在于我希望填充提交主题但仍希望提示输入提交消息,即运行ning git commit -a in git bash 结果类似于:

编辑: git 挂钩的不当使用导致链接问题的已接受答案无法正常工作。因此,问题不明确,可以将其标记为重复。

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

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

COMMIT_MSG_FILE=

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

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

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

$ git config commit.template ~/.gitmessage