我的目标是尽量减少本地克隆我的网站+数据库所需的步骤。
我在网络服务器上有一个中央git 存储库和一个本地克隆。当我在本地计算机上提取更新时,不仅应该从远程存储库获取最新的文件版本,而且还应该在此Web服务器上运行脚本以转储实时数据库,并在提供拉动之前将其添加到存储库。 / p>
我的猜测是,当我在交付存储库之前在本地计算机上激活git pull时,我需要在远程计算机上执行以下操作:
...然后才将拉力传递给本地机器。
我应该使用什么样的git hook? 我也很感激有这种情况的任何额外经验。
答案 0 :(得分:0)
git help hooks
列出了钩子的类型以及它们的工作方式,但是没有一个钩子可以用来做你想做的事情(你需要像pre-upload
那样会被执行的git-upload-pack
)。
但是,您可以在服务器上的git-upload-pack
周围创建一个包装器脚本,执行必要的操作,然后执行真正的git-upload-pack
命令:
git-upload-pack
可执行文件git-upload-pack.real
git-upload-pack
中的某处创建一个名为PATH
的新脚本,执行以下操作:
cd
进入Git存储库hooks/pre-upload
存在并且是可执行文件:
git-upload-pack.real
hooks/pre-upload
脚本,可以执行您想要的任何操作