git hooks - git push后触发

项目上有个需求:当新文档push到git库后,由git hook函数触发自动同步所有文件到指定的服务器下的文件目录。

解决思路

用git 客户端hooks 函数post-update,该函数在git push操作后可被触发执行,在此函数的文件里写脚本实现业务需求即可。

具体步骤如下

  1. 通过 git clone xxx.git下载项目代码或文档

  2. 完后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  [email protected]:/export/diweb/bigdataos-help-doc/
    scp -r /export/diweb/bigdataos-help-doc  [email protected]:/export/diweb/bigdataos-help-doc/
    
    

你可能感兴趣的:(linux,git)