【问题标题】:Git submodule commit hooksGit 子模块提交钩子
【发布时间】:2012-06-06 13:43:02
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 这是一个老问题,但您可能应该将正确答案分配给您自己或 Jason。 :)

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


【解决方案1】:

我在发布此消息后不久就找到了解决方案...

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

【讨论】:

【解决方案2】:

如果你有 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

【讨论】:

    猜你喜欢
    • 2021-12-07
    • 2014-08-31
    • 2013-12-15
    • 1970-01-01
    • 2019-07-12
    • 2015-01-13
    • 2018-05-21
    • 1970-01-01
    相关资源
    最近更新 更多