【发布时间】:2015-07-18 05:15:57
【问题描述】:
我有一个 post-checkout 钩子,我在我的所有存储库中都在本地使用它(它将我的 tmux 会话重命名为 repo-name/branch-name)
对于我正在进行的一个项目,我们刚刚添加了一个 post-checkout 挂钩,我们要求整个团队都使用它。
我不想把我个人的钩子的逻辑加到全队的钩子里,因为它不是对每个人都有用,但我也不想放弃。
有没有办法在一个 git-hook 触发器上执行多个脚本?我希望每个 git checkout 都执行整个团队的 post-checkout 钩子并且执行我个人的 post-checkout 钩子。我不能将两个文件命名为相同的东西——有没有办法解决这个问题?
更新:一个好的方法是,“让post-checkout 调用另外两个脚本。我喜欢这个想法,它可能是解决方案。
但是,现在我们有一个自动设置步骤,将 post-checkout 复制到 hooks 目录中。如果可能的话,我希望以一种不干扰现有团队设置的方式执行此操作,并且如果我稍后再次运行该安装步骤,则不需要我手动调整。
如果这不可能,那很酷,但我对更有创意的解决方案感到好奇。
【问题讨论】:
-
重命名这两个脚本并有第三个名为
post-checkout的脚本同时调用它们有什么问题? -
如果自动设置将一些名为
post-checkout的文件复制到hooks文件夹中,那么这就是Git 将用于该挂钩的文件;您对此无能为力。恐怕您需要在此处进行一些手动调整。毕竟,post-checkout是一个客户端钩子。如果您的团队想要执行某些政策,他们应该不理会客户端挂钩(它们是您的业务,而不是您的团队的业务),而是使用服务器端挂钩。