2011-05-12 138 views
24

我已经在我的中央资源库中编写了预提交钩子。当我的客户端克隆存储库时,它永远不会传播钩子。我想挂钩也被复制到我的客户端存储库。我的客户是Windows用户,使用msysgit作为git客户端。如何在克隆时传播GIT Hook

有什么办法可以让钩子复制到本地仓库吗?

+1

可能重复复制的文件 [Git的挂钩 - 从远程仓库传播(http://stackoverflow.com/问题/ 3471028/git-hooks-propagating-from-remote-repository) – ralphtheninja 2011-05-12 10:28:06

+2

http://stackoverflow.com/questions/427207/can-git-hook-scripts-be-managed-along-with-the-资源库(尽管符号链接建议可能无法在Windows上运行...) – 2011-05-12 12:19:12

回答

9

您可以编写一个设置脚本,例如, setuphooks.sh,它将钩子脚本下拉并将它们安装在正确的位置。这不应该很难写,因为curl可以完成大部分工作。

或者您可以在回购库中的.hooks等普通文件夹中包含挂钩,并将它们全部复制到.git/hooks

其他人建议你符号链接它们,但这会给Windows用户带来问题。

9

简单的方法,但一半的方法。 ;-)

我在Windows Git中使用。

  1. 找到git安装的文件夹。
  2. 找到子文件夹“share \ git-core \ templates \ hooks”
  3. 然后根据需要复制挂钩脚本。 当生成'git init'命令时,该文件夹包含钩子脚本示例。
  4. 如果“混帐克隆”命令然后夹的钩包含您在步骤3
+0

我很感激它 – 2014-10-29 20:32:10

+0

这很酷,谢谢!请注意,Linux中的相同文件夹位于'/ usr/share/git-core/templates/hooks'下。 – hoefling 2015-12-01 15:19:29

+0

“我在Windows Git中使用”这句话是什么意思?我确定那里有一个输入错误,但不知道你的意思 – knocte 2016-01-08 03:30:59