我有一个功能分支,我想以交互方式基于 master 进行变基,例如:
A - B - C - D (master)
\
E - F (feature)
期望的结果是
A - B - C - D (master) - E - F (feature)
在 E 和 F 之后运行一些健全性检查脚本(使用 rebase-todo 文件上的 exec 行)。
但是,如果我转到 magit 的日志缓冲区并r e
在 commit 上输入点D
,magit 会执行 agit rebase -i D^
而不是git rebase -i D
,因此该功能的提交会从C
. 我想要的是重新定位到大师的尖端,而不是大师^。
所以:
- 有没有办法强制 magit 将交互式 rebase 基于
D
我在日志缓冲区中指向的位置,而不是基于我指向的父级? - magit 似乎没有在非交互式变基中自动附加 ^ 。为什么会出现差异?跨分支交互变基在某种程度上是个坏主意吗?
顺便说一句,我知道有一些解决方法:我可以下拉到命令行;我可以将其拆分为一个分支内交互式 rebase,然后是一个非交互式 rebase;或者我可以在 master 上做一个虚拟提交。它们都不是很方便。我想知道是否有办法一步到位,或者如果没有,是否有一些我应该知道的智慧。