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
应当使用单独的配置执行