

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

该文章收录专栏
[✨--- 《深入解析git:从原理到应用的全面指南》 ---✨]
@toc
<font size="3" color="#8bc8f2" style="行楷">👋👋欢迎来到👋👋
🎩魔术之家!!🎩</font>
书接上文,在第一天中,我们学会了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编辑


注意:
分支删除不能删除当前所在分支,需要删除需要切换到其他分支
命令
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其他版本也要修改)


我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。