- A+
第一步先将线下同步至线上(同时要忽略部分配置文件)
1.在服务器上安装git
yum install -y git
安装成功后
git --version
git version 1.8.3.1
2.在服务器上创建裸库(bare repository)一个没有工作目录的仓库,仓库是没有文件形式的,只是保存元数据。如果要看文件可以 clone你的项目
mkdir /home/git
cd /home/git
git init --bare obj.git
--bare是代表创建裸库,此参数一定要带上
3.创建web站点目录或使用已存在的站点目录 /www/wwwroot/www.shikexu.com (宝塔类型)
4.在本地电脑上创建分支并连接至远端仓库
先安装 git(可以在网上搜索到下载)我的是windows64位系统
安装好后找一个空的文件夹如 D:/obj/ 这个目录
进入这个目录 鼠标右键

打开后输入
git clone git@8.8.8.8:/home/git/obj.git www.shikexu.com
5.这里肯定会报错因为我们还没有配置 git用户用ssh登录的秘钥
此时本地的 git 窗口不要关闭直接输入
cd ~/.ssh
ls -la
出现几个 id_dsa.pub 总之以 pub结尾的都可以用 随便 查看一个 公钥复制到服务器端就可以
cat id_rsa.pub
将查看出来的一传秘钥直接复制到 线上服务器的 /home/git/.ssh/authorized_keys 即可,如果没有这个文件则直接创建,创建后记得使用 chown -R git:git authorized_keys 来改变文件所属人
如果你的本地电脑一个秘钥都没有,那你可以查看本站的git文章或百度搜索查询结果
6.以上步骤完成后我们就可以测试上传和下拉了
cd www.shikexu.com #进入仓库目录
touch index.php #创建文件
git add index.php
git commit -m "test commit"
git push origin master
推送前 记得 使用
chown -R git:git /home/git/
7.自动同步到web目录
cd /home/git/obj.git
cd hooks
vim post-receive
输入内容 start
#!/bin/bash
git --work-tree=/www/wwwroot/www.shikexu.com checkout -f
输入内容 end
chown git:git post-receive
chmod +x post-receive
8.将 git用户加入 www用户组 并将 /www/wwwroot/www.shikexu.com 设置为 775
提示:可以同时push到多个远程仓库
添加第二个远程地址时用下边的命令
git remote set-url --add origin git@github.com:morethink/programming.git
此时再 push git push orgin master
小提示:当有多个程序员时可以让大家用同一个账号不然有时候会出现问题
使用 chmod g+s /www/wwwroot/www.jack.com 来改变 setgid 权限
至此第一步结束
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-