Git钩子,修改提交文件

Ser*_*rCe 8 git bash hook commit pre-commit-hook

我正在尝试编写git pre-commit钩子脚本,它应该在修改文件的开头写入提交日期.我的问题是我无法将修改过的文件添加到以前的提交中.当我再次尝试调用git commit时,它会运行递归.如何编写脚本,在修改后的文件末尾添加修改时间?

我的代码:

#!/bin/bash

files_modified=`git diff-index --name-only HEAD`

for f in $files_modified; do
    if [[ $f == *.groovy ]]; then
        $line = $(head -1 f)
        if [[ $line == "/%%*" ]];
        then
            sed -i 1d
        fi
        echo "/%% " + $(date +"%m_%d_%Y") + " %%\\" >> f
        git add f
    fi
done 
git commit --amend #recursive
exit
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 4

您无法修改预提交挂钩中的提交。
而且您所做的类似于关键字扩展机制,这不是 Git(或任何 DVCS)的最佳实践,如“通过Git/Svn将前缀添加?<revision-number>到代码”中所述。

其他方法包括: