TortoiseGit变基(Rebase)中额外Onto选择器的作用是什么?
TortoiseGit变基窗口中
Onto选择器的作用 先明确基础逻辑:普通只选Upstream的变基,本质是把你当前分支里所有在Upstream分支之后的提交,整体移到Upstream分支的最新顶端,对应执行git rebase <upstream>命令。
而Onto选择器是给你更灵活的变基选项,对应Git原生的git rebase --onto <onto> <upstream>命令,主要用在两种核心场景:
- 跨分支移植提交:比如你原本基于
dev分支开发功能分支,但现在想把自己的功能提交直接放到master分支上,又不想先合并dev到master。这时候Upstream选功能分支的原上游dev,Onto选目标分支master,就能把你的提交从dev的提交链上摘下来,直接嫁接到master的顶端。 - 截断迁移部分提交:如果你的分支上有一串提交,你只想把后面几个提交移到新基底、舍弃前面的。比如分支上有提交A→B→C→D,只想把C、D移到
test分支,那Upstream选B(不想迁移的最后一个提交),Onto选test,这样就只会把B之后的C、D移到test上。
简单总结:Upstream用来界定「要迁移哪些提交」(当前分支中在Upstream之后的提交),Onto用来指定「这些提交要移到哪个目标位置」——当你不想把提交移到Upstream本身的顶端时,就用Onto来指定新的目标基底。
内容的提问来源于stack exchange,提问作者T.Todua
相关产品推荐
相关产品推荐

