一.Git分布式管理系统
在本地管理,Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件,它采用了分布式版本库的方式,不必服务器端软件支持。可以说它是一个开源的分布式版本控制系统,用于敏捷高效地处理任何小或者大的项目
为了保护数据的安全性
-
githug:公有云代码管理
-
gitlab:私有云代码托管平台
-
svn
集中式 从中央代码服务器获取具体的代码,把代码下载到自己的本地,然后把代码在有网络的情况下提交到中央服务器。典型的产品是SVN,所谓集中式的版本控制系统,只有一个中央数据仓库,如果中央数据仓库瘫痪或者是不可访问的情况下,所有的使用者无法使用SVN,无法进行提交或者备份文件。
分布式 分布式版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git。当然为了团队协作,会把本地数据同步到GitLab服务器或者是GitHub等代码仓库。
二.Git使用方法:
1.git需要配置环境变量
2.配置用户名和邮箱
git config --global user.name "zx"
git config --global user.email ""
git config --list

3.手动新建文件夹,初始化仓库
-
手动建好文件夹(ag:文件夹名字是learnGit),在控制台进入到文件夹
-
进入到所在文件位置执行git init 命令,初始化
如果cmd退出,进入到文件所在位置就有之前的操作

上图是在d盘新建的文件夹

这个是在桌面
4.添加文件到暂存区
git add 文件名称 #确认需要添加以及跟踪的文件
5.文件上传到本地仓库
git commit -m "注释消息"
三.git的生命周期可以完整的描述为:
• git init #生成git工作区
• git status #掌握git工作区的信息
• git add #确认需要添加以及跟踪的文件
• git commit -m "注释信息"#提交到本地仓库

代码展示

四.Git 代码提交日志的记录查看
1.git 查看
-
-
git log --oneline 查看简约
-
git log -1 查看最新
-
git log --all --graph #查看提交的版本演变
-
git reflog #记录git所有的操作,包含了提交以及回退
-
type 文件名 可以查看文件内容
2.git回退
-
git reset --hard 回退的版本Id
-
git reflog 查看git所有操作
回退使用场景:
晚上上线,发现严重的问题,最后结论是本次发布取消,那么就需要版本回退(比如版本1.0测试无误,发布的是2.0)
测试:版本回退到1.0,核心功能做一轮回归测试确认无误
五.git标签
1.标签涉及到的命令:
-
git tag -a tagName -m 标签注释:创建一个标签,并且加上注释
-
git tag #查看标签信息
-
git log --decorate #查看标签的详细信息
-
git log --oneline --decorate #命令如上是一样的
-
git tag -a标签名称 commitID -m 标签注释
-
git show tagName #查看标签的具体详细的信息

六.git分支管理
(一)环境分类
1.1测试环境
1.2开发环境
测试和开发不能共用同一个环境,容易代码混乱。比如测试的是v1.0.0版本,开发使用的v1.0.1版本,一起用就分不清
1.3预发布环境:测试代码现在这里测试
1.4线上环境
都是生产环境,配置都一样,访问域名不一样,两者间的数据隔离。不同的数据要分离使用影子库隔离数据。
1.5沙盒环境 测试支付部分
(二)代码分支
1.分支环境
1.1test:测试环境
1.2dev:开发环境
1.3master:主干分支,专门发布到线上(预发布/生产环境)
2.创建分支
创建格式:git branch 分支名字
查看格式:git branch
切换分支:git checkout 另外的分支(文件内容不变)
合并分支:git merge 分支
3流程
-
开发在dev环境开发完的功能合并到Test分支
-
测试在test环境测试完成后,合并到master
-
最后master分支代码的上线
具体代码演示:

3.4问题
开发把test的代码合并到master(也是测试环境),测试还需要测试吗
需要,合并过程中可能会出现代码的冲突、丢失
浙公网安备 33010602011771号