原理及流程1.git用户执行gitpush操作2.远程仓库发现有用户执行push操作,会执行一个脚本post-receive(hook)3.在post-receive脚本中,将git仓库的代码复制到网站目录1.进入服务器安装git,构建仓库sudoyuminstallgitcd~gitinitgitinit--barewww.xx.com区别两者之间:1、普通git仓库的目录结构是和你的代码目录结构一致,只是增加了.git目录,.git目录包含了一些git配置等数据。2、裸仓库只保存了一些配置信息等,我们上传的代码肉眼是找不到的(建议)2、进入网站根目录,gitclone~/www.xx.com,这样website目录下有仓库的完整代码,然后写hook文件cd~/www.xx.com/hooksvimpost-receive在post-receivehook文件中写入如下内容#!/bin/shunsetGIT_DIRcd/var/www/html/websitegitpull编辑并保存退出。以上命令的意思是cd到网站目录,gitpull更新。然后把post-receive改为可执行:chmod775post-receive3,在本地环境提交代码到服务器gitclonessh://git@127.0.0.1:22/~/www.xx.comgitadd.git提交-m=''gitpush
