Git rebase的--merge选项具体功能是什么?
Git Rebase
--merge 选项的核心差异 你问到了一个非常关键的点:哪怕不用--merge选项,变基过程中也确实会遇到合并冲突,这说明不管哪种模式,Git都在后台依赖某种合并策略来处理提交迁移。那--merge到底给变基操作带来了什么本质不同?
先引用官方手册的定义:
git-rebase(1)手册说明:
-m --merge使用合并策略执行变基操作。
而两者的本质差异,就体现在Git存储变基中间状态的路径上:
- 使用
rebase --merge时,Git会把工作文件和变基的临时状态存储在$GIT_DIR/rebase-merge文件夹中——这和交互式变基的存储方式完全一致。 - 如果不使用
--merge选项,且是非交互式变基的话,Git会改用$GIT_DIR/rebase-apply文件夹来存放这些内容。
这两种不同的存储路径,对应了Git变基的两种底层实现逻辑,也是--merge选项最核心的区别。
内容的提问来源于stack exchange,提问作者Jürgen
相关产品推荐
相关产品推荐

