Git分支

文章目录


一、Git分支

Git分支就像是一棵大树的分叉。

  • 主干(main/master):是项目最稳定的主线路。
  • 分支:相当于从主干分出来的一条平行小路。

作用:让你可以在小路上瞎折腾(写新功能、修bug),完全不用担心影响主干。折腾好了,再把小路接回主干(合并)。

折腾坏了,直接删掉分支重来,主干毫发无损。

简单说:分支就是帮你把"实验"和"正式"隔离开的工具,方便多人同时干活不出乱子。

二、分支的操作

2.1 查看分支

git branch -v 即可查看分支

可以看出当前只有一个分支

2.2 创建分支

如果当前项目出现问题,需要紧急添加热补丁,就加一个 hot-fix 分支

git branch hot-fix 即可添加成功

2.3 切换分支

上面图片可以看到后面的(蓝括号)里写的master,表示当前还在master分支,如何切换分支呢?

git checkout hot-fix

此时我们在hot-fix这个分支上去修改文件内容

再查看master分支下的文件内容:

发现是不一样的,所以接下来我们看如何合并分支。

2.4把指定的分支合并到当前分支上

正常合并,比如现在在master分支下,我需要把hot-fix分支下的文件合并到master分支下:
git merge hot-fix

可以发现,这里master分支下的文本内容已经变为hot-fix下的了。

2.5 冲突合并

什么时候会出现冲突呢?

这里我先在master分支下添加一行:

然后去hot-fix分支下添加不一样的修改

就是我在master没空行加了一行,在hot-fix下空行加了一行。

接着切换到master分支去合并

发现起冲突了,因为两个分支都做了修改,git 不知道用哪一个。

此时我们 vim 打开文件,发现已经给我们已经标出来当前分支哪里做了修改,冲突分支哪里做了修改

此时我们需要在这个文件里做修改。

然后提交,这里注意,提交不要再加文件名了。

此时的情况是,hot-fix并未修改,而master的已经被修改了。

相关推荐
深海鱼在掘金2 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
noravinsc3 天前
关于Git Flow
git
蜜獾云3 天前
在Git中配置用户名和密码
git
scx_link3 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
南大白3 天前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
码农小旋风3 天前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
南大白3 天前
Git 撤回提交完整方案
git
像风一样的男人@3 天前
python --实现代理服务器
git·ui
sbjdhjd4 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
码云数智-大飞4 天前
Go Channel 详解:并发通信的正确姿势
前端·数据库·git