文章目录
一:git基础概念介绍
1:版本控制/git/gitlab概念
版本控制:
对于同一份共享文件,如果又多个人需要修改的话会发生什么事情呢?比如当你在公司内和同事合作开发项目,你们同事修改了项目文件,那要想合并怎么办,用优盘把自己更改的东西拷贝进去,然后交给你的同事。你同事修改完后再把优盘给你?否则一个不小心就会覆盖别人的代码。
为了解决以上的问题,最好的方法就会使用版本控制。
如果使用了版本控制系统,每一个团队成员都可以在任何时间对任何文件毫无顾虑的进行修改,版本控制系统可以提醒我们文件修改冲突,甚至可以帮我们自动把多个人的改动合并到一起。
git:(分布式版本控制系统(Distributed Version Control System,简称 DVCS))
区别于集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)
-直接记录快照,而非差异比较
-近乎所有操作都是本地执行
-时刻保持数据完整性
-多数操作仅添加数据
gitlab:
搭建于自己本地或个人服务器上的以使用git为管理工具的web服务器
2:git的下载和基本介绍
3:git工作原理
git的存储原理:
git的工作提交原理:
4:分支概念
在版本控制过程中,使用多条线同时推进多个任务
集中式版本控制工具(svn):
分布式版本控制管理工具:
Git 把数据看作是小型文件系统的一组快照。每次提交更新时 Git 都会对当前
的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。所以 Git 的工作方式可以称之为快照流。
git分支流:
二:gitlab基础介绍
1:页面介绍
2:个人信息设置
3:创建项目
4:创建项目后的首页
三:将本地项目上传到gitlab上(以idea为例)
1:idea配置git
2:本地代码创建git仓库
文件变红说明本地仓库创建成功
建立忽略文件(不要问为啥,你 class文件总不能也上传吧,.idea这种文件也不能上传吧)
或者用这种方法:
3:本地代码push到gitlab
先add
再commit
push到远端仓库
如不了解ssh,建议使用http协议推送
push 成功
四 :远端代码clone到本地
五:分支管理
1:分支规范
分支: 命名: 说明:
主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分支上发布
测试分支 test 测试系统分支,测试系统分支(有时候也不用,直接用dev分支)
开发分支 develop 开发分支,永远是功能最新最全的分支
功能分支 feature-wkl-20200101 新功能分支,某个功能点正在开发阶段
发布版本 release-* 发布定期要上线的功能,预上线分支
修复分支 hotfixes-wkl-20200101 修复线上代码的 bug
顺序:
1:接到新任务时,自己创建功能分支
2:功能开发完成后,发布测试分支合并,上测试系统测试
3:测试完成后合并到开发分支
4:当功能准备上线的时候将开发的分支合并到预发布分支
5:预发布分支发布到正式系统
6:经正式系统运行无误后,合并到master分支
7:当系统出现bug,在release分支上重建bug分支,修复bug,然后重复2-6步骤
2:模拟分支使用场景测试
-
小明接到需求,开发接口,于是他从test分支创建dev分支;注意创建出的分支和当前分支代码一样
-
创建分支后修改代码,合并到测试分支
-
测试分支测试没问题后,等待预上线,创建版本分支(从主分支上同步)
4. 将dev-xiaoming-0325-接口分支整合进预发布版本分支
5. 解决代码冲突后在此分支直接打包,上线。运行无误后同步到主分支,然后删除dev分支和此版本分支,