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





相关文章
|
14天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
36 1
[Git]入门及其常用命令
|
12天前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
34 1
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
189 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
1月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
|
1月前
|
Linux 开发工具 git
企业级Git管理工作流分析--GIT实战详解
企业级Git管理工作流分析--GIT实战详解
37 0
|
3月前
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
168 0
【规范】Git分支管理,看看我司是咋整的
|
3月前
|
开发工具 git
Git 高手之路:高级特性与实战技巧揭秘
【8月更文第16天】在日常开发工作中,Git 已成为版本控制不可或缺的工具。本文将介绍 Git 的一些高级特性和实战技巧,帮助你更好地管理项目和团队协作。
40 1
|
3月前
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
61 0
|
3月前
|
Linux 开发工具 git
|
4月前
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程