How to run local Git project hooks in addition to core.hooksPath global hooks?

后端 未结 2 865
暗喜
暗喜 2021-01-11 17:44

Currently I\'m using

git config --global core.hooksPath ~/.git/hooks

to configure global hooks for all my git projects. But if those proje

相关标签:
2条回答
  • 2021-01-11 18:27

    In order to execute the local hook from within the global one the following script snipped can be used:

    if [ -e ./.git/hooks/commit-msg ]; then
        ./.git/hooks/commit-msg "$@"
    fi
    

    The global hook runs within the repo directory where the commit is made and can therefore check if a local hook exists in it's .git directory.

    Note that you have to adopt the hook name if you are using something different than a commit message hook.

    0 讨论(0)
  • 2021-01-11 18:28

    I think the only way is for your global hooks to check if a corresponding local hook exists and run it.

    This is not a complete solution because some hooks (pre-push, for example) accepts standard input in addition to command line parameters. If one of the hooks consumes the standard input the other doesn't have a chance.

    0 讨论(0)
提交回复
热议问题