如何用git init替换更新版本的本地git钩子?

时间:2012-05-28 23:33:38

标签: git githooks

我和这个用户有完全相同的问题:

git init template, replacing modified hooks

我的全局git hooks中有一个新的模板文件。但是,原始模板文件已加载,因此git init不会覆盖。我在这里读了同样的内容,这似乎是正确的git行为:

来自http://www.cs.potsdam.edu/cgi-bin/man/man2html?1+git-init

  

在现有存储库中运行git init是安全的。它不会   覆盖已存在的东西。主要原因   重新运行git init是为了获取新添加的模板。

那么强制重新加载新git模板钩子的好方法是什么?我在许多git repos中有许多钩子,在几台计算机上并被各种用户使用。最实用的方法是让用户运行一个特定的命令,而不是告诉他们先删除钩子然后再运行git init命令。有办法做到这一点吗?

1 个答案:

答案 0 :(得分:4)

  

最实用的方法是让用户运行一个特定的命令,而不是告诉他们先删除钩子然后再运行git init命令

在这种情况下,一种可能的方法是向这些用户分发一个只执行该操作的脚本(您可以在每个repo中对该脚本进行版本化)。
他们不会直接执行git init,而是调用该脚本:

  • 删除挂钩
  • 致电git init