防止对子模块进行Git Hook“post-commit”执行

时间:2016-08-01 14:24:40

标签: git git-submodules githooks git-commit

当我在子模块中提交某些内容时,我能以某种方式阻止调用post-commit挂钩吗?我使用这个钩子自动提交子模块更改与主项目提交消息,并且我进入了一个"无限循环"。

档案: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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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