Topwo博客
首页
博客
项目
您现在的位置是:
Topwo博客
>>
其他
文章
git变基简单易懂
发布时间:2025-12-22
作者:Topwo
来源:原创
点击:56
**A变基到B**。 ### 变基的核心逻辑 变基(`git rebase`)的本质是**“移植提交”**,可以拆解为这几个步骤: 1. 找到分支 A 和分支 B 的**最近共同祖先提交**。 2. 提取分支 A 从共同祖先之后的所有本地提交,临时保存起来。 3. 将分支 A 的头指针直接移动到分支 B 的最新提交上。 4. 把之前临时保存的 A 分支提交,**按顺序重新应用**到当前的 B 分支最新提交之后。 这个过程完成后,分支 A 的提交历史会变成 **B 的全部改动 + A 的独有改动**,相当于 A 是在 B 的最新状态上“续写”自己的提交。 ### 举个直观例子 假设初始提交历史是这样的: ``` A1 --- A2 (分支 A) / C0 --- C1 --- B1 --- B2 (分支 B) ``` 当执行 `git checkout A && git rebase B` 之后,历史会变成: ``` C0 --- C1 --- B1 --- B2 --- A1' --- A2' (分支 A) ``` 可以看到: - 分支 A 包含了 B 的所有提交(`C0、C1、B1、B2`) - A 原来的提交 `A1、A2` 被重新应用为 `A1'、A2'`(哈希值会变化) ### 注意点 1. 变基会**改写分支 A 的提交历史**,如果 A 是已经推送到远程的公共分支,不建议轻易变基,否则会造成团队协作的冲突。 2. 变基和合并(`git merge`)的最终代码状态是一致的,但提交历史的形态不同:变基是线性历史,合并会保留分叉的历史节点。 是否需要我帮你整理一份**git rebase 常用操作命令清单**,包括解决变基冲突的步骤?
上一篇:
下一篇:
对ddr gpu npu cpu设置为性能模式