git版本控制系统以及项目部署方法

 git只适合开源的软件,安全性 不行

 svn集中式版本控制系统必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,呵呵。分布式版本控制系统可以不连网工作,因为版本库就在你自己的电脑上。·集中式版本控制系统如果中央服务器挂了,就完蛋了。分布式版本控制系统可以没有中央服务器,每个人的电脑上都是一个完整的版本库,可靠性高。分布式版本控制系统也可以有一台充当“中央服务器""的电脑,但这个服务器的作用仅仅是用来方便交换"大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

一、安装git

官网: https://git-scm.com/
才10M

 1.1、git身份设置

 1.2、创建本地工作目录

 

 

 1.3、添加文件到暂存区

 提交文件之前可以git  status  会显示暂存区的文件

 clean的意思不是工作区没有文件是三大区都一致,也就是工作流一致

 修改再提交第二个版本

也可以touch 增加新的文件  

 git add  三次或者  git add *  把文件放入暂存区  再git commit  -m  "说明"  提交事务

 至少进行三次存档 还差一次

查看git日志

 

 

 拷贝rpm包放入暂存区再提交事务

 如果觉得rpm包混乱 可以回退

 回退操作在三大区都可以实现 

 回退其实就是同步到暂存区,撤销之前的操作

 分支就是git clong  克隆主仓库  然后把分支代码整合到主仓库

 远程git仓库

 

 

git仓库上传和下载

在命令行创建远程git仓库

其实就是push上传到远程git仓库

github里面照着写就行 

新建README.md就行   作用是软件的安装方法 测试的时候就可以不用写方法

这是上传项目到远程git仓库

 下载或者克隆项目到本地

 用户就只能克隆到命令行

 克隆之后git仓库已经存在,只能cd到git仓库pull下载了

 

无论是自己操作自己的仓库还是别人操作,都必须cd到仓库目录

免密push


免密push其实就是利用了ssh免密登录的原理:

1.在本地产生空密码密钥对
2.本地保留私钥,把公钥给对方

3.实现本地到远程的免密

生成密钥对就只需要 ssh-keygen

然后回车两次就行

 公钥的内容必须全复制

 

 设置ssh免密之后就能实现免密push上传code到远程仓库

 git push -u origin master

github分支

 

 切换到dev分支之后,分支如果发生改变,只能上传到远程仓库的dev分支,最后由仓库的master决定是否更新合并分支需求到master

 

 箭头方向就是dev合并到master

 最后确认合并branch分支master

 

github多人协同开发

场景:李四看张三的项目不错想帮忙开发,但是为了安全考虑不可能得到别人的账号密钥啊

最好的办法就是李四fork张三的项目到自己的仓库,先搜索张三的项目,再点击fork

 

李四必须克隆自己的仓库到本地,要不然无法上传到自己的仓库

 

 更新到张三的仓库需要李四申请new pull request

 

gitlab安装

 

直接rpm -ivh安装就行,没有依赖

 

 

感谢您安装GitLab !

GitLab无法检测到实例的有效主机名。

请通过在/etc/ GitLab / GitLab中设置'external_url'配置为你的GitLab实例配置一个URL。rb文件。

然后,“您可以通过运行以下命令来启动您的GitLab实例

command:

Sudo gitlab-ctl reconfigure

有关配置选项的全面列表,请参阅0mnibus GitLab readmehttps://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

sudo是针对普通用户的,root用户直接运行就行

 vim  /etc/gitlab/gitlab.rb  修改位内网ip,也就是 自己本地ip,方便对内开放

 如果不恢复快照安装,可能会有坑,gitlab里面的软件本来就很多

gitlab的下载克隆和GitHub差不多,可以设置ssh免密登录

 持续集成CI

 

 每天把项目代码都集成到代码仓库然后通过CI server 自动构建测试 结果反推

 

 

 持续交付CD

项目上线之前必须放在测试环境测试 成功  保证环境的一致性,开发和 运行环境一致

包括软件版本  容器就具有这个优势,可以减少排错时间,直接重新装环境

 

项目发布方法

1、蓝绿部署 

传统的发布都是需要停服务的,蓝绿部署就不用。缺点是费钱,国企一般不用。

蓝绿部署可以让一台服务器提供服务,另外一台服务器完成发布升级

 滚动更新适合容器实现

灰度发布(A/B测试 \金丝雀部署)

主要考虑的是用户体验,例如王者荣耀的体验服模式

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值