一个简单的 git hooks(post-receive)使用流程
发布: 2021-03-05 16:41:20标签: git
一、 服务器创建一个空仓库
01# 进入部署目录02cd /var/www/temp0304# 创建空仓库05git init --bare temp.git
复制代码二、配置 git hooks(.temp.git/hooks/post-receive)
01#!/bin/sh02set -e0304# 部署目录05DeployPath="/var/www/temp"0607# 判断是不是远端仓库08IS_BARE=$(git rev-parse --is-bare-repository)09if [ -z "$IS_BARE" ]; then10echo >&2 "失败: 不是远端仓库"11exit 112fi1314echo "同步git仓库 ================================================"15unset GIT_DIR16# git --work-tree=$DeployPath checkout -f ## 这种方式git删除文件没有被删除17git --work-tree=$DeployPath reset --hard master1819echo "部署成功 ================================================"
复制代码三、设置文件权限
01# 设置新增文件文件权限02chomd 777 hooks/post-receive
复制代码四、客户端推送
01# 关联远程git仓库(只要一次就好了)02git remote add production user@1.1.1.1:/var/www/temp/temp.git0304# 推送05git push production
复制代码