2012-04-19 156 views
23

我们想在外部数据库中存储一些关于提交的元信息。在克隆或结帐期间,应该引用该数据库,并将元信息复制到克隆的repo中的文件中。该数据库是必需的,而不是仅仅使用一个文件索引和搜索等的缘故...git hooks:有没有克隆钩子?

我想,如果有一个克隆挂钩,我们可以触发此。我在.git/hooks中找不到样本中的克隆钩子。有一个吗?后检查钩在客户端唯一的可能性?

回答

20

确定,要做到这一点的方法之一是使用clone --template选项。

指定在客户端侧钩将被存储为值到--template开关的位置。钩子被复制到克隆中,并且立即启动后结账钩子!

+4

但模板目录不能是你所克隆的仓库里面 - 它必须在文件系统中已经存在,你克隆之前。 – chrishiestand 2013-03-28 19:45:58

+1

http://stackoverflow.com/a/2141577/1183537帮了我很多,更多的澄清,并解决你说的@chrishiestand – SuckerForMayhem 2014-01-23 18:11:01

10

当您的克隆远程存储库时,您不能运行任何客户端挂钩,因为挂钩对于您的工作副本是本地的,而且您正在从头创建一个挂钩。当你从从远程存储库的新变化,git将运行你的本地post-merge挂钩,如果它存在。

作为拉动操作的结果,服务器上没有任何运行。一个操作将触发服务器的updatepost-update挂钩。

更多信息,请参见Git Book