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

使用 rebase 轻松管理主干分支

前言

最近遇到一个技术团队的 dev 环境分支错乱,因为是多人合作大家各自提交信息,导致出现很多交叉合并记录,让对应 log 看起来非常混乱,难以阅读。

举例说明

  1. 假设我们有一个项目,最初develop分支有 3 个提交记录,分别是A、B、C,如下所示
A
B
C
  1. 此时,我们创建了一个feature分支用于开发新功能,feature分支基于A提交创建,并且有D、E、F三个提交记录,此时的分支情况如下:
A
B
C
D
E
F
  1. 如果不进行rebase操作,直接将feature分支合并到develop分支,Git 会自动创建一个合并提交,这样提交历史会变得复杂,呈现出非线性的结构,如下所示:
A
B
C
D
E
F
Merge

这种情况下,提交历史中会出现许多交叉的合并记录,如果同时并线的不只是一个 feature 分支,在就会并行好几个线,非常混乱。

  1. 而此时如果我们现在 feature 分支上进行 rebase1操作,则会呈现如下效果。
A
B
C
D'
E'
F'

可以看到,feature分支的提交历史变得更加线性,基于develop分支的最新状态进行了调整。

  1. 此时再将feature分支合并到develop分支,就会简单很多,提交历史也更加清晰、整洁,如下所示:
A
B
C
D'
E'
F'
Merge'

这样就更加一目了然了,在进行异常的问题定位更加容易确定问题。

Tips

可以使用以下命令查看你们当前团队的分支情况

# 可以使用
git log --graph --oneline

如果主干分支出现以下情况,就可以考虑使用 rebase 变基操作了。
在这里插入图片描述


  1. 在 feature 分支(开发分支)上执行 git rebase develop (主干分支)。 ↩︎

http://www.xdnf.cn/news/87553.html

相关文章:

  • 【Linux】静态库 动态库
  • ZLG嵌入式笔记 | 拯救NAND/eMMC:延长闪存寿命
  • OpenCv高阶(七)——图像拼接
  • 高级java每日一道面试题-2025年4月22日-基础篇[反射篇]-如何通过反射创建一个对象实例?
  • Redi的常见场景
  • Agent框架LangGraph:实现一个简单的Plan-and-Execute Agent
  • 使用Java调用TensorFlow与PyTorch模型:DJL框架的应用探索
  • xyz 瓦片leaflet地图组件 显示
  • 软考-高项,知识点一览十九 配置和变更管理
  • 低代码破局,助力工业互联网平台迈向智改数转新高地
  • 电脑硬盘丢失怎么找回?解决硬盘数据恢复的2种方法
  • XHTMLConverter把docx转换html报java.lang.NullPointerException异常
  • 【YOLOv8-pose部署至RK3588】模型训练→转换RKNN→开发板部署
  • Mujoco xml < sensor>
  • 转型探讨:未来投资与布局
  • ARP(地址解析协议)
  • 高效UI组件库Kendo UI——赋能企业级Web应用开发
  • 25、简述.NET程序集(Assembly)
  • 基于javaweb的SpringBoot校园失物招领系统设计与实现(源码+文档+部署讲解)
  • [数据结构]树和二叉树
  • 自动化测试基础知识总结
  • Megatron - LM 重要文件解析 - /tools/preprocess_data.py
  • 广州市白云区粤荣职业培训学校副校长余智强获聘广州培训质量督导员
  • PostgreSQL 常用日志
  • 基于国内主流AI工具的视频生成完整流程及工具对比总结
  • 企业战略到数字化落地 —— 第二章 数字化
  • ubuntu的各种工具配置
  • 2021 国考
  • 仓颉造字,亦可造AI代理
  • 网络基础概念(下)