rebase和merge

rebase 和merge区别:

rebase变基,改变基底:rebase会抹去提交记录。

git pull 默认merge,git pull --rebase 变基

rebase

C、D提交属于feature分支,是基于master分支,在B提交额外拉出来的,当我对D进行变基,提交记录只会保留实线部分,虚线的提交记录消失。

feature :待变基分支、当前分支;master :基分支、目标分支。当执行rebase操作时,git会从两个分支的共同祖先(B)开始提取待变基分支上的修改,然后将待变基分支指向基分支的最新提交,最后将刚才提取的修改应用到基分支的最新提交的后面 。feature分支的基底由B提交改为M提交。重点是两个分支变成了一个分支!!!

merge

直接将feature分支的D提交合并到master分支的M提交,以一个新的提交。

区别

merge 会对提交历史进行保留,很显然更适合多人协作开发的场景 ,因为如果出现问题也可以追溯到历史的每一次提交。

rebase 则是会让提交历史更加简洁易读,保持提交历史的线性结构,所以更适合个人开发和整理分支的情况。团队,最好不要使用rebase...

相关推荐
OpenTiny社区7 小时前
开源之夏报名倒计时3天!还有9个前端任务有余位,快来申请吧~
前端·github
王景程7 小时前
SELinux是什么以及如何编写SELinux策略
git·github
宝桥南山9 小时前
DeepSeek - 尝试一下GitHub Models中的DeepSeek
microsoft·ai·微软·c#·github·.net
lifeng432111 小时前
在 CentOS 上将 Ansible 项目推送到 GitHub 的完整指南
centos·github·ansible
小华同学ai11 小时前
千万别错过!这个国产开源项目彻底改变了你的域名资产管理方式,收藏它相当于多一个安全专家!
前端·后端·github
独立开阀者_FwtCoder14 小时前
一个 Cursor mdc 自动生成器,基于Gemini 2.5,很实用!
前端·javascript·github
我是哪吒15 小时前
分布式微服务系统架构第144集:FastAPI全栈开发教育系统
后端·面试·github
梓羽玩Python16 小时前
PDF解剖大师来了!LandingAI开源神器,这个Python库让百页文档秒变结构化数据!
python·github
网安刚哥16 小时前
我们开源了一款AI产品……
程序员·开源·github
Cynthia-石头20 小时前
Git Github Gitee GitLab
git·gitee·github