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





相关文章
|
1月前
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
131 4
|
2天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
3天前
|
安全 开发工具 git
图解Git——分支管理《Pro Git》
分支管理是 Git 中的重要机制,支持并行开发和清晰的工作流。常用命令包括:`git branch` 列出所有分支,`git branch -v` 查看最后一次提交,`git branch --merged` 和 `git branch --no-merged` 分别查看已合并和未合并的分支。创建新分支用 `git branch &lt;branch-name&gt;`,删除分支用 `git branch -d`(已合并)或 `-D`(强制删除)。建议定期清理已完成任务的分支,保持代码库整洁,并使用有意义的分支命名规范。注意强制删除未合并分支时可能丢失数据。
21 5
|
5天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
18 0
|
2月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
66 1
[Git]入门及其常用命令
|
1月前
|
运维 测试技术 持续交付
代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?
本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。
76 0
|
2月前
|
开发工具 git
git分支管理master/hotfix/develop/feature/release
采用合理的Git分支管理模型可以显著提升团队协作效率和代码管理的质量。本文介绍的 `master`、`develop`、`feature`、`release`和 `hotfix`分支模型是一个行之有效的方法,适用于大多数软件开发项目。通过清晰地划分各个分支的职责,团队成员可以更专注于各自的开发任务,同时确保代码库的稳定性和可维护性。
112 2
|
2月前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
93 1
|
2月前
|
测试技术 开发工具 git
掌握Git分支管理,提升团队协作效率
掌握Git分支管理,提升团队协作效率
50 0
|
3月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)