当前位置: 首页 > news >正文

Git学习(四)

一、Git分支管理

Git 的默认分支就是 master。你所作的commit会在master分支上自动移动。 在多次提交操作之后,master分支指向最后那个commit object(提交对象链)。

Git 的 “master” 分支跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它。

但很多时候听别人说master分支,往往有一种这个分支是稳定、无bug的分支。而develop往往预示这新功能,不稳定的分支。这和分支策略有关,但本质上这两个分支没区别。

1.分支创建

通过git branch创建分支

创建标签记在HEAD指针所指向的提交点创建tag(就是当前所在分支)

git branch dev

分支切换到dev

git checkout dev

创建分支与切换分支同时完成

git checkout -b dev2

通过git branch查看全部分支

在dev2分支创建一个文件A.txt并且提交(谁提交的版本库就在谁的分支上)。我们发现在dev2分支可以看到这个文件,当我们切换会master时候无法看到这个文件。

2.分支删除

不能删除自己所在的分支

我们可以切换到master删除一个合并后的或者没有发生变化的分支

如果一个分支发生了变化不能删除

3.分支合并

切换到master上做dev2 的合并

我们发现master分支上也添加了A.txt这个文件

如果修改的是同一个文件也可以做同样的合并,让我们切换到dev2分支修改A.txt中的内容。在A.txt中添加了一行World

我们切换会master分支的时候发现提示了A.txt的变动。通过合并发现master分支上也合并了dev2修改的内容,合并之后dev2就删除就被允许了。

4.分支的本质

master指向的是提交

HEAD是指向当前的分支,当前在哪个分支就指向哪个分支

第二张图上我们可以看到创建了dev的分支,当我们切换到dev分支的时候HEAD就会指向dev

当我们进入.git文件夹查看HEAD的内容的时候可以看到,所处分支不同内部的文件指向就不同。

master分支

dev2分支

git的分支与svn不同,svn是整体拷贝一份分支,git用的是指针。

如果dev发生修改提交,dev的版本就会向后移动。

在master分支上如果合并就会出现下面的图

5.分支的冲突

我们在dev2分支里面修改A.txt文件添加一行 update by dev2后提交

我们在master分支里面修改A.txt文件同时添加一行 update by master后提交

合并时候我们发现出现冲突

<<<<<<<<<<<HEAD是当前指向的分支所修改

>>>>>>>>>>dev2是dev2分支修改

我们需要手工合并,修改后报了master的内容

我们可以通过图形来查看冲突的提交日志。

git log --graph

http://www.gsyq.cn/news/1362285.html

相关文章:

  • 基于计算机视觉与SLAM的无障碍机器人编程教学框架设计与实践
  • FAI-C-ST基准:基于基督教社会训导的AI价值观对齐评估实践
  • 别再死磕理论了!用Neo4j和Python,从零实战构建一个企业关系知识图谱
  • 技术人的持续学习:保持竞争力的完整指南
  • 云原生监控体系建设:打造全方位的可观测性平台
  • IMPROVER系统:AI气象预报统计后处理的工程化实践
  • Pico Neo3 XR开发实战:从黑屏闪退到真机运行的完整链路
  • 【论文复现】基于反步法-神经网络控制器、LOS制导和Lyapunov方法的多艘欠驱动水面船舶协调路径跟踪非线性控制Matlab代码
  • 开源AI编辑器的未来发展趋势
  • 告别GLIBC版本地狱:手把手教你用-L选项搞定交叉编译的库依赖(以ARM开发板为例)
  • OpenSSH ssh-agent动态库加载漏洞CVE-2023-38408深度解析
  • Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了
  • 无框架手写实现Function Calling:原理拆解+纯Python手写实现
  • Claude API文档版本管理生死线:v2.1→v3.0迁移实录,12个breaking change的文档同步策略
  • Vscode配置C/C++环境“无法使用 compilerPath 解析配置”及引用路径问题
  • 2026郑州柔性腻子优质品牌推荐指南:河南金刚沙腻子、河南防水抗裂砂浆、河南防水砂浆、郑州儿童房腻子、郑州内墙漆腻子选择指南 - 优质品牌商家
  • Arm SVE架构核心技术解析与开发实践
  • Ubuntu 20.04 安装 ROS Noetic 保姆级避坑指南(附国内源配置与rosdep update终极解决方案)
  • 觅健AI病程管理系统入选2026中国医疗健康产业最具创新力产品技术50强
  • 用Python处理DREAMER脑电数据集:从.mat文件到.npy文件的完整实战教程
  • Vibe Coding 适合什么场景?Trae 精准适配全场景首选
  • 工业视觉异常检测:PatchCore与EfficientAD实战
  • 2026年热门AI编程助手全面评测
  • QT 自定义代理类的使用套路(萌新版)
  • 广州整箱茅台酒回收哪家信誉最佳?深度评测行业领先榜单
  • 2026年gpt-image-2接口中转站全网实测 主流服务商性能与成本综合排名全指南
  • 大学生做课程项目用什么AI编程软件?最新权威推荐清单
  • RuoYi接口调试:Postman作为Spring Boot权限系统可信信使
  • 【昇腾CANN】graph-autofusion:让算子自己学会“抱团“
  • 市面上靠谱的ERP/MES/定制开发/APP开发/软件开发公司