之前项目都是svn,现在团队都熟悉git,所以打算把svn那一套提交就同步到生产环境下的机制搬过来
流程
1.在服务端新建一个基本仓库
2.添加一个git用户 并设置密码和权限
3.到生产目录下git init,并设置git源为刚才 建立的仓库
4.然后配置权限和目录,切记 网站缓冲目录需要分配给权限到www用户,剩下的权限分配给git用户 (老司机常在这里翻车)
5.添加git钩子
1.新建基本仓库
cd 到代码仓库目录
git init –bare erpv2.git
2.添加git 用户设置密码权限
adduser git
passwd git //输入两次密码
chown -R git:git /www/gitdata/erpv2.git/ //设置仓库权限
3.到生成目录下初始化一下
cd到生产目录下/网站根目录下
git init
git remote add origin /www/gitdata/erpv2.git/ //设置仓库地址
git branch –set-upstream-to=origin/master master //设置默认推拉分支
git pull //拉取一遍
4.配置权限
cd /www/gitdata/erpv2.git/hooks/ //切换到git仓库hooks目录下
vim post-receive //新建钩子文件
文件内容
chmod 777 post-receive //设置钩子权限 777
cd /www/wwwroot/xxxxx //回到生产目录 或直接修改权限,但是要加目录地址
chown -R git:git /xxxxx //把生产目录权限设置给git
chowm -R www:www runtime/ //项目缓存目录给www,该目录和自身项目有关
5题外:git免登陆
cd /home/git/ 下新建 .ssh目录,并进入目录
然后新建秘钥文件 vim authorized_keys
把key放进去 就可以了,以后 push 和pull都无需密码了
忘了:.ssh和authorized_keys 权限 别忘修改!!!