在 git pre-commit 钩子中获取每次提交的 comment 信息,需要使用 Git 自带的环境变量 GIT_EDITOR
和 EDITOR
.
以下是一个示例脚本:
#!/bin/bash
# 获取编辑器设置
editor=${GIT_EDITOR:-$(which ${EDITOR:-vi})}
# 打开默认编辑器进行提交信息编辑,并将结果保存到临时文件中
comment_file=$(mktemp /tmp/git-comment.XXXXXX)
$editor $comment_file
# 读取临时文件中的内容并清除换行符
comment=$(cat $comment_file | tr -d '\n')
# 删除临时文件
rm $comment_file
echo "Commit comment: $comment"
这个脚本会打开系统默认的文本编辑器,在其中让用户输入 commit comment 并保存到临时文件中,然后再从临时文件中读取 commit comment。