当我对之前几次提交的更改进行修复时,我总是会连续运行两次 rebase。是否可以一步完成此工作流程?假设我有 4 个新提交。
* (master) D
* C
* B
* A
* Base
我在 B 中发现了一个错误,所以我创建了一个分支并修复了它。
* (master) D
* C
| * (fix) Fix.
|/
* B
* A
* Base
接下来我运行 git rebase --onto fix B D
将 C 和 D 移到 B 上。
* (master) D'
* C'
* (fix) Fix.
* B
* A
* Base
最后,我运行 git rebase --i fix^^
来查看最后几次提交,并将 B 和 Fix 压缩为一个提交。
* (master) D'
* C'
* B'
* A
* Base
是否有更快的方法来完成相同的工作流程?我想 merge 会更容易,但 merge 对我来说是不可能的,因为我使用的是需要线性历史记录的 git svn。
最佳答案
当交互式 rebase 中的提交列表编辑器出现时,您可以根据自己的喜好自由添加、删除或重新排序提交。这基本上是一种影响将要发生的循环中的 cherry-pick 的方法(这就是 rebase 归结为的原因)。
关于git - 我可以同时 rebase 和压缩提交吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251011/