代码之家  ›  专栏  ›  技术社区  ›  Alexander Gladysh

Git挂钩管理

  •  25
  • Alexander Gladysh  · 技术社区  · 15 年前

    我们在项目中使用定制的Git钩子。

    钩子存储在项目的存储库中,当它们发生更改时,要获得新版本,每个用户必须在自己的.git/hooks目录中手动复制它们。这很不方便。

    改善这一点的一种方法是使.git/将符号链接挂接到WorkTree中。但这意味着每个分支(甚至是正在开发的用户的本地特性分支)都应该具有最新版本的钩子。这也不方便。

    你将如何解决这个问题?

    6 回复  |  直到 15 年前
        1
  •  12
  •   Pat Notz    15 年前

    维护一个单独的钩子和符号链接库。

    我同意,如果Git有一个内置的机制来传播Hooks脚本,那就太好了,但是它没有。

        2
  •  8
  •   kergoth    15 年前

    http://benjamin-meyer.blogspot.com/2010/06/managing-project-user-and-global-git.html 似乎是一种自动化钩子符号链接的方便方法,以方便全局、每个用户和每个项目钩子。

        3
  •  2
  •   intuited    14 年前

    您可以使存储库 .git 目录一个Git存储库,只需向其添加钩子和其他配置,即可添加 objects , refs 等目录和文件 index 对其 .gitignore . 不仅如此,您还可以设置一个接收后挂钩,从其原始位置更新metarepo。一旦您设置了初始配置,您就可以让它在不做任何额外工作的情况下拉入更新。

    我正在计算这方面的细节,比如应该在忽略列表中列出什么;我将结果保存在 this repo .

        4
  •  1
  •   Community CDub    8 年前

    在Git2.9中,可以使用 core.hooksPath 配置。

    Git 2.9发行说明- https://github.com/blog/2188-git-2-9-has-been-released

    提及的文件 钩虫病 - https://git-scm.com/docs/githooks

    注意-此问题可能是 Can Git hook scripts be managed along with the repository?

        5
  •  1
  •   gtramontina    9 年前

    对于基于nodejs的项目,我建议您看看 ghooks .

        6
  •  0
  •   Wayne Conrad    15 年前

    我们制作了一个符号链接到工作树中。

    对于那些很少有人需要提交钩子将拒绝的文件的情况,我们使用 git commit --no-verify

    推荐文章