git版本控制系统以及项目部署方法
Posted CCTVZHENG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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测试 \\金丝雀部署)
主要考虑的是用户体验,例如王者荣耀的体验服模式
Windows上的gitgithub部署及基本使用方法
1、介绍
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
2、Git 与 SVN 区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。
Git 与 SVN 区别点:
1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
3、git设置
下载安装,配置环境变量,D:Program FilesGitmingw64in;D:Program FilesGitmingw64libexecgit-core设置到path
设置姓名和邮箱
1、 git config --global user.name "your name"
2.、git config --global user.email "[email protected]"
提高命令输出的可读性
git config --global color.ui auto
1、创建本地代码仓库
在本地,新建一个空文件夹(随便哪个盘都可以),比如我在E:新建了new_git文件夹。
进入new_git文件夹,右键运行“Git Bush Here”
打开git命令框后
2、git init 初始化
这样在new_git文件夹下生成一个.git文件夹
3、将自己的项目复制到新建的仓库new_git里面
可通过git status命令查看当前状态
注意:虽然项目已经复制过来了,但还没有add到Git仓库上,我们可以通过git add .或git add将项目全部添加到仓库中。
5、git commit
用git commit把项目提交到仓库(git commit -m "XXXXX")-m后面是本次提交的注释,选填(最好写上)
例如:git commit -m ‘初次提交微信服务python代码‘
相关参考:http://www.runoob.com/git/git-tutorial.html
https://segmentfault.com/a/1190000013909993?utm_source=tag-newest
!-- body,>
以上是关于git版本控制系统以及项目部署方法的主要内容,如果未能解决你的问题,请参考以下文章