公司的开发项目部署如下:
开发人员本地一份版本库(CLONE);
测试服一份版本库(CLONE);
ORIGIN一份版本库。
当开发人员本地开发测试好之后需要先PUSH到测试服测试,没问题后再PUSH到ORIGIN。
GIT的PUSH如果是PUSH到分支上,比如测试服的CLONE,首先遇到的问题是,GIT会默认阻止你这么干,需要修改GIT CONFIG进行如下设置:
[receive] denyCurrentBranch = ignore
设置好了还没有完,PUSH上去你要是去测试服上查看,文件并没有更新。这时候需要用到GIT的HOOK:
感谢某某网友的无私奉献,我们不用再去手写SHELL脚本了,脚本下载地址:https://gist.githubusercontent.com/volca/9482044/raw/344a590af350b997db3819fa21426dfe8bc140f4/post-update;
下载到 你的项目目录/.git/hook/,最后添加可执行权限及修改用户组:
chmod g+x 你的项目目录/.git/hook/post-update
chown www:git 你的项目目录/.git/hook/post-update