Git子模块提交挂钩

时间:2012-06-01 09:59:32

标签: git git-submodules pre-commit-hook

我正在使用git子模块(我们称之为SubmoduleRepo),这样我就可以将我的模块包含在几个项目中。

我可以从任何使用它的项目中提交SubmoduleRepo。

我可以非常轻松地更新,提交和推送到SubmoduleRepo。

每当我在包含SubmoduleRepo的项目中的目录中工作时,我都需要执行一个提交挂钩(当我在SubmoduleRepo中工作时,提交挂钩按预期执行)

子模块的dir中没有.git文件夹(只有指定当前目录路径的.git文件)。

2 个答案:

答案 0 :(得分:20)

在发布此内容后,我发现了一些解决方案......

你可以把挂钩放在.git / modules // hooks / - 例如。 .git / modules / web / js / modules / rate如果您的子模块位于/ web / js / modules / rate目录中。

答案 1 :(得分:19)

如果你有Git 2.10+,你可以通过运行以下来获取hooks目录:

`git rev-parse --git-path hooks`

注意:默认情况下它是.git/hooks但是如果你在子模块中它会有所不同。

Pre Git 2.10+你想要的东西如下:

`git rev-parse --git-dir`/hooks

更多信息: Find path to git hooks directory on the shell