工程管理系列之----从零开始搭建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 协议》,转载必须注明作者和本文链接
reading
白小二
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!