工程管理系列之----从零开始搭建git服务器,及代码同步完整版
参考教程:git服务器搭建和免密码设置
1. 安装git
详细教程 - Git 安装配置
centos安装
$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel
$ yum -y install git-core
$ git --version
git version 1.7.1
2.创建git用户
创建git用户 | useradd git |
---|---|
设置git密码 | passwd git (之前用简单密码,导致服务器被 肉鸡 ) |
3.服务器创建仓库(关键一步)
创建空文件夹 | mkdir -p /data/git/gittest.git |
---|---|
初始化 裸库 | git init –bare /data/git/gittest.git |
更改仓库权限 | chown -R git:git /data/git/gittest.git |
其实到这一步,git 已经能用了。比如在客户端电脑执行 git clone git@host:/data/git/gittest.git
如果服务器 ssh
端口号不是默认的 22
,那么命令为 git clone ssh://git@host:port/data/git/gittest.git
但我们更希望使用 公钥私钥
来管理 git ,防止别人暴力破解。
4.免密码登陆
客户端要创建公钥私钥对 | 执行命令: ssh-keygen -t rsa, 一路回车得到 id_rsa,id_rsa.pub 私钥公钥对 |
---|---|
将 id_rsa.pub 追加到服务器的 git 用户下 authorized_keys 文件中 | 追加命令 cat id_rsa.pub >> /home/git/.ssh/authorized_keys |
拷贝这两个文件给其它想要登陆的用户放置在对应的用户目录 | windows 的放置位置:C:\Users\ dhn.ssh目录 linux的放置位置 : /root/.ssh(或者在使用的其它用户目录) |
测试 ssh 免密登陆 | ssh git@host -pport |
- 如果登录成功,那么git也可以使用ssh协议免密连接了。
5.代码同步
- 注意:本地代码提交前先做好
.gitignore
配置
.gitignore配置:
/node_modules
/storage/*.key
/storage/app/
/storage/debugbar/
/storage/framework/
/storage/logs/
/vendor
git.sh
/public/.user.ini
.htaccess
.env
客户端拷贝裸库 | git clone git@host:/data/git/gittest.git 22 以外的端口在 : 后面添加 |
---|---|
提交本地代码 | 复制粘贴项目到 git 仓库 提交推送:git add . && git commit -m 初始化项目 && git push |
服务器同步代码 | 1. git clone git@host:/data/git/gittest.git 2. cd gittest && mkdir storage/views && mkdir storage/logs && mkdir storage/framework 3. composer install cp env.example .env && vim .env |
测试服务器同步代码 | 1. git clone git@host:/data/git/gittest.git 2. cd gittest && mkdir storage/views && mkdir storage/logs && mkdir storage/framework 3. composer install cp env.example .env && vim .env |
注意以上服务器端命令需使用 www
用户执行,否则还需要处理权限问题composer
应当使用单独的配置执行
如有错误,可以在评论中指出来
转义反斜杆预览的时候是\,发布的时候是转义成功。。。
本作品采用《CC 协议》,转载必须注明作者和本文链接