我想使用 rebase -i 压缩一些本地提交,但我已经在我的本地提交之间拉入并合并了其他人的更改。这个命令还能用吗?
问问题
63 次
2 回答
1
我相信它在前一段时间得到了对 rebase 合并的支持,所以试试吧。
但即使没有,您也可以在合并后的更改后创建新分支,并用于git cherry-pick
在此处应用您的更改,而不是使用 rebase 调整它们。
对于将来,使用git pull --rebase
或git 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 回答