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 原理与使用
git·gitee
m0_614619064 小时前
花了一下午学 Git,整理了一份学习笔记
笔记·git·学习
AGV算法笔记6 小时前
解决Git> git add -A -- fatal: CRLF would be replaced by LF in Test/Test.cpp
git
Dontla7 小时前
VSCode插件Git Graph介绍(Git可视化管理分支、可视化Git)
ide·git·vscode
Echoo华地8 小时前
用git diff快速比较文件夹差异并生成报告
linux·git·unix·repository·diff·branch
勤劳打代码8 小时前
防微杜渐 —— 为什么一次 Sync 会变成一次 merge?
git·团队管理
dyxal9 小时前
Windows 下 Git 离线安装与 VS Code 便携版集成完全指南
windows·git·elasticsearch
K3v10 小时前
【git】自动化合并推送脚本
git·自动化
鹓于10 小时前
Android APK开发到发布全流程指南
git·github
花哥码天下11 小时前
Git 多远程仓库管理
git