当前位置: 首页 > 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.jsqmd.com/news/874404/

相关文章:

  • SQLmap Python环境配置避坑指南:从启动失败到稳定运行
  • IMPROVER系统:AI气象预报统计后处理的工程化实践
  • RuoYi接口调试:Postman作为Spring Boot权限系统可信信使
  • 告别加班!Windows 一键部署 Open Claw,下班前搞定全天工作量
  • 跨平台AI辅助图像标注工具VisioFirm的设计与实现
  • 用函数实现模块化程序设计
  • 深入理解 Eino 的向量体系:从 Embedding 到向量数据库
  • BIND DNS漏洞CVE-2025-13878:EDNS选项解析致堆越界崩溃分析
  • 龙芯电脑装系统,选UOS、Loongnix还是等Debian?给3A4000/3A5000用户的保姆级选择指南
  • 超详细图解Attention机制:从原理到Self-Attention、多头注意力全覆盖
  • 工具变量评估与合成:从核心原理到机器学习实践
  • Windows 11上WSL安装后报getpwuid错误的完整排查手册:从Docker冲突到用户权限
  • 手机抓包配置全指南:从连不上到解密HTTPS
  • 从需求到交付:深度拆解企业级软件定制开发的标准化流程
  • 为什么你的渐变总像PPT?揭秘Midjourney v6.2中未公开的--color-bleed机制与渐变锚点定位技术
  • 别再到处找激活工具了!手把手教你用vlmcsd在Windows上自建KMS服务器(附防火墙配置)
  • 保姆级教程:用Arbe或大陆4D毫米波雷达点云数据,手把手实现Freespace检测(附Python伪代码)
  • 神经纹理:让3D世界“活”起来的AI魔法,一篇讲透!
  • Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了
  • 语义优先架构:从VLM实验看90%功能漂移与具身AI新范式
  • 河北亮泽管道设备有限公司:2026年至今河北弹簧支吊架领域的优选实力服务商 - 2026年企业推荐榜
  • 无框架手写实现Function Calling:原理拆解+纯Python手写实现
  • Claude API文档版本管理生死线:v2.1→v3.0迁移实录,12个breaking change的文档同步策略
  • 别再乱格式化!一文搞懂NTFS、exFAT等磁盘格式区别与DiskGenius格式化实操
  • Super IO Blender插件:终极批量导入导出指南,工作效率提升300%
  • 储能 PACK 与 BMS:怎么识别有真实出货的系统集成厂,避开组装贴牌
  • 从纸质报表到Excel:PaddleOCR+Python自动化识别复杂表格(附完整代码)
  • 2026郑州柔性腻子优质品牌推荐指南:河南金刚沙腻子、河南防水抗裂砂浆、河南防水砂浆、郑州儿童房腻子、郑州内墙漆腻子选择指南 - 优质品牌商家
  • 别再死记ResNet结构了!用Python手搓一个ResUnet,从代码里真正搞懂残差连接
  • 觅健AI病程管理系统入选2026中国医疗健康产业最具创新力产品技术50强