2022新版Git教程 从入门到实战(三)Git分支管理(下)

简介: 2022新版Git教程 从入门到实战(三)Git分支管理

在新分支中添加记录


在新的分支中,在新文件家中添加内容‘testing’,并提交到仓库

此时会建立仓库中会出现一个新的记录,效果入下图


725bc705a9ba4d319578b3f239c6854d.png

切换回master分支


de5a718d016c458e8647a128f99193be.png


此时HEAD指针指向了master,此时在查看fish.txt文件中的内容,就会发现内容已经恢复到原来未修改的状态


5c83fa5748614fddb455771b6189a071.png


分支合并


我们现在分两种选择,


一、直接将testing分支上的内容合并到master分支,这样不会发生版本冲突的问题

二、在master分支上继续进行修改,然后再选择合并分支,这样会发生版本冲突的问题


我们先进行第一种直接合并分支


git merge testing # 把指定分支合并到当前分支

d9d1eeccfb204caeb52a43ad37b32b76.png


此时再查看fish.txt文件中的内容,就会发现原本再testing分支中修改的文件内容出现到了master分支中

这种master分支没有内容改变的合并不会出现冲突的问题。


第二种就是master分支和testing分支都进行了修改,此时在选择合并就会发生冲突

首先需要在在两个分支上分别修改并提交到版本库


在testing分支下向文件中添加testing2222


accaa5fc85f94e1faf4383dce101bfea.png


在master分支下向文件中添加master2222


d6ea1fd75a62438db8457442f04c6894.png


命令的全过程


git switch testing  # 切换到testing分支
vim fish.txt        # 使用vim编译器修改文件内容
git add .           # 添加到暂存区
git commit -m'test2commit' # 提交到版本库
git switch master   # 切换到master分支
vim fish.txt        # 使用vim修改文件内容
git add .           # 提交到暂存区
git commit -m'mastercommit'  # 提交到版本库


e2e8533a17a947db94bfb1f1afd79d39.png


此时合并分支


c8b40ec9fd9f44c98466c7651df7213a.png


冲突(内容):合并fish.txt中的冲突

自动合并失败;修复冲突,然后提交结果


使用 git status也可以查看此时发生冲突的文件


bfaca0081f1f4e83ac5d4e296ef55bfb.png


为什么会发生冲突


其实就是在两个分支中同时修改了同一个文件的内容,在合并时,Git不能够知道你需要那个文件里面的内容,所以就将两个文件修改的内容全部保存下来,然后让你根据自己的需要进行内容的修改,这个也是后面解决代码冲突的基本思路


代码合并冲突解决


发生冲突后,我们先看一下发生冲突的文件内容


cf87b92caab2415da4f241e20abe7bbc.png


此时会发现文件中有部分数据分别是两个分支中各自添加的内容,使用<<<<<<< ,=======,>>>>>>>区分开来并且还提示那些内容是属于那一个分支的

然后我们修改文件的内容,根据实际需求选择需要的内容,


fb77bfeb3c6d40f68bce193496852c22.png


解决冲突以后,再进行一次提交

git add .
git commit -'conflict fixed'

aa2af634f6a64a8bb4b29b476f99bf47.png


至此冲突就已经解决

如果你想了解这段时间内发生的内容,可以查看具体的日志信息git log


分支合并图


使用该指令git log --graph可以看到分支记录以及图


82c8b760bf6e4dbebdd0dc7d30d1b9d9.png


删除分支


合并代码以后就可以这个删除开发分支


git branch -d testing


总结


本章我们学习了Git分支,了解到了分支的优势和Git分支的工作流程,如何创建分支、切换分支、合并分支、解决冲突。希望大家能够认识到分支开发的优势,掌握分支开的常用命令


本章常用命令及其拓展


image.png





相关文章
|
7天前
|
Linux 开发工具 git
|
4天前
|
开发工具 git
Git 高手之路:高级特性与实战技巧揭秘
【8月更文第16天】在日常开发工作中,Git 已成为版本控制不可或缺的工具。本文将介绍 Git 的一些高级特性和实战技巧,帮助你更好地管理项目和团队协作。
9 1
|
4天前
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
14 0
|
1月前
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程
|
1月前
|
Ubuntu 开发工具 git
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
39 0
|
2月前
|
存储 Linux 开发工具
Git【入门】这一篇就够了
Git【入门】这一篇就够了
28 0
|
2月前
|
敏捷开发 测试技术 持续交付
【git分支管理策略】如何高效的管理好代码版本
【git分支管理策略】如何高效的管理好代码版本
263 0
|
3月前
|
开发工具 git
Git 保姆级教程(二):Git 分支
Git 保姆级教程(二):Git 分支
|
3月前
|
安全 开发工具 git
【Git】—— 分支管理策略
【Git】—— 分支管理策略
|
3月前
|
数据可视化 安全 开发工具
git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支
git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支