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...

相关推荐
崔庆才丨静觅17 小时前
Claude Code GitHub Actions 使用教程
github·api·claude
砖厂小工2 天前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
程序员鱼皮2 天前
又一个新项目完结,我要出海了!
ai·github·开源项目
徐小夕2 天前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment2 天前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅2 天前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub2 天前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财2 天前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github