1

我想使用 rebase -i 压缩一些本地提交,但我已经在我的本地提交之间拉入并合并了其他人的更改。这个命令还能用吗?

4

2 回答 2

1

我相信它在前一段时间得到了对 rebase 合并的支持,所以试试吧。

但即使没有,您也可以在合并后的更改后创建新分支,并用于git cherry-pick在此处应用您的更改,而不是使用 rebase 调整它们。

对于将来,使用git pull --rebasegit fetch后跟git rebase( -i) 而不是直接拉到您的私有工作分支,因此您的更改最终会重新基于您拉取的内容,而不是与合并混合。

于 2012-05-30T09:41:57.570 回答
1

git rebase手册页:

-p, --preserve-merges 不要忽略合并,而是尝试重新创建它们。

它还包括警告:

这在内部使用了 --interactive 机制,但除非您知道自己在做什么,否则将其与 --interactive 选项显式结合通常不是一个好主意。

警告指的是这里的讨论。在重新排序提交时,发布git rebase -i -p可能会导致意外结果,因此我建议您熟悉撤消坏变基的多种方法。最重要的是,请记住变基的黄金法则:永远不要变基您与他人共享的历史记录。

于 2012-05-30T12:40:38.467 回答