项目上有个需求:当新文档push到git库后,由git hook函数触发自动同步所有文件到指定的服务器下的文件目录。
解决思路
用git 客户端hooks 函数post-update,该函数在git push操作后可被触发执行,在此函数的文件里写脚本实现业务需求即可。
具体步骤如下
-
通过 git clone xxx.git下载项目代码或文档
-
完后clone,在项目目录下.git\hooks目录,添加并修改文件:post-update,文件内容如下(需适当修改服务信息):
#!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, rename this file to "post-update". unset GIT_DIR DIR_ONE=/export/diweb/ if [ -d $DIR_ONE ]; then rm -rf $DIR_ONE fi mkdir -p $DIR_ONE cd $DIR_ONE git init git remote add origin xxx.git git pull origin master scp -r /export/diweb/bigdataos-help-doc root@10.222.54.33:/export/diweb/bigdataos-help-doc/ scp -r /export/diweb/bigdataos-help-doc root@172.25.65.2:/export/diweb/bigdataos-help-doc/