Git合并分支rebase和merge区别

Git可视化工具下载:Git - GUI Clients

合并前分支:

Merge之后的结果:

rebase之后的结果:

1 Git分支合并rebase和merge区别
  • merge工作原理:假如在master分支上因为业务需要临时拉出个分支叫dropdown,现在主分支master有新的提交,dropdown分支也有提交,业务开发完成要进行分支合并,此时两个分支的共同祖先(即拉分支的节点)和两个分支中的最新提交进行一个三方合并,合并中修改的内容生成一个新的commit,这个merge的效果简单来说就是合并两个分支生成一个新的提交。
  • rebase工作原理:dropdown分支合并到master分支上,执行rebase后依次将当前的分支提交合并到目标分支上,然后将原分支上已提交的commit删除,也就是分支线log日志记录信息被删掉了只保留一个主的分支提交记录。
2 merge OR rebase:

(1)可以看出merge结果能够体现出时间线,但是rebase会打乱时间线。

(2)rebase看起来比较简洁,merge看起来不太简洁。

(3)最终结果是都把代码合起来了,所以具体怎么使用这两个命令看项目需要。

3 常用命令缩写
  • git pull 拉取代码,git pull 相当于是 git fetch + git merge,
  • git pull -r,也就是git pull --rebase,相当于 git fetch + git rebase
4 应用场景
  • 不要在公共分支使用rebase
  • 本地和远端对应同一条分支,优先使用rebase,而不是merge
相关推荐
恋喵大鲤鱼9 小时前
git mv
git·git mv
Patrick_Wilson13 小时前
Git Worktree 原理详解:从 objects / refs 看懂多分支并行与多 Agent 协作
git·面试·ai编程
yaoxiaoganggang13 小时前
克隆 Superpowers 的规则库到你的本地(或者直接作为 Git Submodule)
人工智能·经验分享·git·ai编程
Python私教15 小时前
用 Claude Code 做大型重构不翻车:分批+Git 兜底+验证闭环的实战流程(2026)
git·重构·ai编程·代码重构·工程实践·claude code
Shawn Dev16 小时前
团队协作中的 Git Tag 最佳实践:从入门到精通
大数据·git·elasticsearch
独隅18 小时前
Git/GitHub/GitLab/Gitee 核心对比指南
git·gitlab·github
佛山个人技术开发18 小时前
GitCode个人技术开发者总结完整使用指南
windows·git·svn·github·gitcode
江华森19 小时前
基于 Git 的自动集成交付(Git-Driven CI/CD)实战
git·ci/cd
Dontla20 小时前
.gitkeep文件作用(让Git追踪空目录,使该目录能被纳入版本控制)!.gitkeep
大数据·git·elasticsearch
shandianchengzi20 小时前
【记录】VSCode|Windows 下 VS Code 配置 Git Bash 为默认终端完整教程
windows·git·vscode·bash