最新公司有个项目代码需要规范化,可以查看历史记录及··可以·回滚操作,所以考虑使用在服务器上搭建git服务器,并设置钩子,当我们上传代码后自动同步到服务器代码目录下。下面为具体步骤
1、服务器上安装git程序
yum install git
2、在服务器上创建 裸版本库
git init --bare demo.git
//参数 --bare 是代表创建裸仓库
3、本地Clone远程的代码仓库到本地
git clone git@39.99.204.74:/home/git/demo.git
本地更新代码后,推送到远端
git push origin master
4、之前步骤实现了本地推送到服务器仓库中,如何实现自动同步到服务器代码目录里面了?自动同步功能用到的是 git 的钩子功能。
服务器端,进入 对应仓库,如
cd /home/git/demo.git
创建post-receive文件
cd hooks
vi post-receive
在里面添加文件
#!/bin/bash
git --work-tree=/www/wwwroot/demoroot checkout -f
PS:
1、其中 /www/wwwroot/demoroot 为 web目录地址
2、post-receive文件需要将用户、用户组设为git,并且需要设置可执行权限。
3、/www/wwwroot/demoroot 目录需要git用户有可写权限,不然客户端会提示没有上传权限
发表评论 取消回复