【版本管理 | Git】 一文详解关于分支的那些事,确定不来看看?

举报
计算机魔术师 发表于 2023/10/13 10:11:26 2023/10/13
【摘要】 🤵‍♂️ 个人主页: @AI_magician📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)该文章收录专栏[✨— 《深入解析git:从原理到应用的全面指南》 —✨]@[toc](🎏...

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

该文章收录专栏
[✨— 《深入解析git:从原理到应用的全面指南》 —✨]

@[toc](🎏【Git _ 分支】 关于分支的那些事)

👋👋欢迎来到👋👋
🎩魔术之家!!🎩

书接上文,在第一天中,我们学会了git的基本概念和基础命令,接下来我们讲解重要的知识点 — 分支

分支是什么?

几乎所有版本控制系统都以着不同形式支持分支,如SVM,分支是用于项发开发中从开发从主线分离出去,适用于修改bug,功能开发等,而不影响主线,每个开发人员等到开发完之后,再将分支合并merge到主分支master

查看分支

git branch

在这里插入图片描述
#创建分支

git branch 自定义名称

可以看到创建成功
在这里插入图片描述

查看创建分支版本

git log

在这里插入图片描述
也可以用上一文章所别名的指令(这里的git-log是别名过的,见上一篇文章配置别名,或者使用git log 也可以)

git-log

在这里插入图片描述

这里的HEAD - > 什么意思呢, 是指向对应分支的意思
假如多个分支,我们只能对当前分支进行修改,不能同时多个分支修改

接下来我们提交修改之前所修改的ignore文件,

git add .
git commit -m "添加 。ignore"

在这里插入图片描述
可以看到我们的提交是提交到主分支 master, 对分支demo01没有影响,
那么在分支demo01是没有所提交的.ignore文件的
在这里插入图片描述

切换分支

git checkout demo01

查看日志(这里的git-log是别名过的,见上一篇文章配置别名,或者使用git log 也可以)

git-log

可以看到HEAD – > 指向了当前分支demo01
在这里插入图片描述
此时文件是没有之前所添加的.ingore文件
在这里插入图片描述
切换回主分支,可以看到之前添加的.ingore文件存在
在这里插入图片描述

创建分支并切换

创建分支并且切换到该分支

git checkout -b demo02

在这里插入图片描述

*合并分支

git merge 分支名

在进行分支合并前应该先切换分支checkout到需要合并的分支并提交,

为了显示合并的效果,我们在demo01分支创建文件 file.txt
看合并后,会不会新增file.txt文件

 touch file.txt

如图我们合并demo01在这里插入图片描述

弹出提示框(vi 编辑框) 按Esc输入:wq 退出vi编辑
在这里插入图片描述

从图中可以看到,在修改分支时,*号指向分支,合并操作后分支回到主分支master(相当于两条线开发,然后回到一条线)在这里插入图片描述

删除分支

注意:

分支删除不能删除当前所在分支,需要删除需要切换到其他分支

命令

git branch -d 分支名称   注释:在删除时,需要做各项检查,安全删除
git branch -D 分支名称   注释:不做任何检查,暴力删除 

我们可以删除分支demo1,此时demo1已经合并了,

git branch -d demo01

解决冲突

场景:如果有两个开发人员,修改了同一个文件同一块区域,那么合并时候就会发生冲突,此时需要人工解决冲突

我们可以看一个例子:新建分支demo3,并分别在master主分支和demo3分支修改同一文件的同一行.

如图对demo3分支,同理对master主分支
在这里插入图片描述
查看日志
在这里插入图片描述

进行合并,报错:
在这里插入图片描述
打开修改的file01.txt 文件
在这里插入图片描述

可以看到修改的内容冲突用 ====== 隔开,

解决方法

步骤:

  • 处理文件中冲突的地方(不修改就会原样上传)
  • 将解决完的文件加入暂存区(add)
  • 提交到仓库

简单粗暴,只需要删掉不需要的值即可,或者修改为你想要的也可以
在这里插入图片描述

接着提交修改

git add .
git commit  注释:这里可以加上 -m 说明冲突消息,也可以不加 -m  会有下图提示效果

在这里插入图片描述
查看日志
在这里插入图片描述

此时file01.txt 文件内容也是我们所修改的
在这里插入图片描述

在这里插入图片描述

实际开发的分支使用原则和流程

实际开发 会有一些 关于分支开发的标准,一般有如下分支使用原则与标准

  • master (生产) 分支
    线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
  • feature/xxxx分支
    从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支
  • hotfix/xxxx分支,
    从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。(bug其他版本也要修改)

在这里插入图片描述

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。