【Git _ 分支】 关于分支的那些事—— 超硬核﹗

简介: 【Git _ 分支】 关于分支的那些事—— 超硬核﹗

@toc

👋👋欢迎来到👋👋
🎩魔术之家!!🎩

书接上文,在第一天中,我们学会了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编辑
在这里插入图片描述

从图中可以看到,在修改分支时,*号指向分支,合并操作后分支回到主分支master(相当于两条线开发,然后回到一条线)在这里插入图片描述

删除分支

注意:

分支删除不能删除当前所在分支,需要删除需要切换到其他分支

命令

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 (生产) 分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;

  • master (生产) 分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;

  • feature/xxxx分支

从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支

  • hotfix/xxxx分支,

从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。(bug其他版本也要修改)

在这里插入图片描述

相关文章
|
9天前
|
缓存 开发工具 git
Git创建分支以及合并分支
在Git中,创建分支使用`git branch [branch_name]`,切换分支使用`git checkout [branch_name]`。修改文件后,通过`git add [file]`添加到暂存区,然后`git commit`提交到本地仓库。如果是新建分支的第一次推送,使用`git push origin [branch_name]`推送到远程仓库,之后可以简化为`git push`。合并分支时,使用`git merge [branch_name]`将指定分支的更改合并到当前分支。
13 2
Git创建分支以及合并分支
|
4月前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
55 2
|
5天前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
19天前
|
测试技术 开发工具 git
掌握 Git 分支策略:提升你的版本控制技能
在现代软件开发中,版本控制至关重要,Git 作为最流行的分布式版本控制系统,其分支管理策略对于高效协作和代码维护尤为重要。本文介绍了几种常用的 Git 分支策略,包括主线开发模型、功能分支模型、Gitflow 工作流和 Forking 工作流,并探讨了如何根据项目需求选择合适的分支模型。通过保持 `master` 分支稳定、及时合并清理分支、使用命名规范、利用 Pull Request 进行代码审查及自动化测试等最佳实践,可以显著提升团队协作效率和软件质量。掌握这些策略将帮助开发者更好地管理代码库,加快开发流程。
|
5月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
2月前
|
开发工具 git 开发者
|
2月前
|
项目管理 开发工具 git
|
2月前
|
存储 小程序 安全
【技巧】git stash用的好,切换分支随便搞
本文详细介绍了 Git 中的 `git stash` 命令,帮助你在切换分支时临时保存未提交的更改。通过实际操作示例,展示了如何使用 `git stash` 的各种命令,如 `save`、`list`、`apply` 等。无论你是初学者还是有一定经验的开发者,都能从中受益。
33 0
【技巧】git stash用的好,切换分支随便搞
|
2月前
|
Shell 开发工具 git
|
2月前
|
JavaScript 测试技术 开发工具
Git 分支设计规范
Git 分支设计规范
88 11