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





相关文章
|
6天前
|
API 开发工具 git
《Git 简易速速上手小册》第3章:分支管理(2024 最新版)
《Git 简易速速上手小册》第3章:分支管理(2024 最新版)
32 1
|
17天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
37 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
34 0
|
1月前
|
开发工具 git
|
1月前
|
安全 开发工具 git
【Git】—— 分支管理策略
【Git】—— 分支管理策略
|
10天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门
|
16天前
|
数据可视化 持续交付 开发工具
实际项目中如何使用Git做分支管理
实际项目中如何使用Git做分支管理
|
1月前
|
程序员 开发工具 git
好程序员Git入门到精通教程
本课程主要通过命令行和idea来介绍Git的安装、仓库创建、工作流、远程仓库、克隆仓库、标签管理和分支管理等Git的主要内容。 另外关于GitHub的使用介绍也有完整的说明和使用,接轨生产环境使用方式。
10 1
好程序员Git入门到精通教程
|
1月前
|
存储 算法 开发工具
|
1月前
|
存储 持续交付 开发工具
Git操作入门
Git是一个的开源分布式版本控制系统,它已经被广泛应用于软件开发、文档管理、代码托管等领域,成为当今最流行的版本控制系统之一。Git通过高效地管理文件的变化,使得团队协作更加高效,错误率更低。本文将介绍Git的工作原理、基本命令和常见用法等内容。
21 0
Git操作入门