git的hook机制能否实现修改提交文件的内容?

pre-commit hook 只是脚本文件,自然可以更改文件内容,比如
#!/bin/sh
# To enable this hook, rename this file to "pre-commit".

# Redirect output to stderr.
exec 1>&2

git diff --cached --name-only |
xargs grep -I -H -c 'yoyoyo' |
grep 0$ | cut -d':' -f1 |
xargs -n1 -I {} bash -c 'echo "yoyoyo" >> "$0" && git add "$0" ' {} \;

……不过我猜 pre-commit hook 的职责应该是检查 index 的内容是否符合 commit 的条件,而不是用来自动添加内容的吧。
原发布于 https://www.zhihu.com/question/20987634/answer/16825053