防止 Git Hook `post-commit` 为子模块执行

Prevent to Git Hook `post-commit` execute for submodules

当我在子模块中提交某些内容时,我能否以某种方式阻止 post-commit 挂钩被调用?我正在使用此挂钩自动提交带有主项目提交消息的子模块更改,并且我正在进入 "infinity loop".

文件:post-commit

#!/bin/sh
if git diff-index --quiet HEAD --; then
    echo no submodule changes
else
    git submodule foreach git add . ;
    git submodule foreach git commit -am "`cat .git/COMMIT_EDITMSG`"
fi

谢谢。

我无法正确修复,但是 运行 每个子模块的命令我不再遇到这个问题:

git submodule foreach "git diff-index --quiet HEAD -- || (git add . ; git commit -am \"`cat .git/COMMIT_EDITMSG`\" || :)"