我想使用rebase -i来压缩一些本地提交,但是我已经进入并在我的本地提交之间合并了其他人的更改。是否仍然可以使用此命令?
答案 0 :(得分:1)
我相信它在不久前得到了对变种合并的支持,所以试试吧。
但是,即使它没有,您也可以在合并后的更改中创建新分支,并使用git cherry-pick
在那里应用更改,而不是使用rebase调整它们。
将来,请使用git pull --rebase
或git fetch
,然后使用git rebase
(-i
),而不是简单地拉到您的私人工作分支机构,这样您的更改最终会被重新定位你拉的东西,而不是与合并混合。
答案 1 :(得分:1)
来自git rebase
手册页:
-p, - 预约 - 合并 而不是忽略合并,尝试重新创建它们。
它还包括警告:
这在内部使用--interactive机器,但明确地将它与--interactive选项结合使用通常不是一个好主意,除非你 知道你在做什么。
警告提到discussion here.发布git rebase -i -p
可能会在重新排序提交时导致意外结果,因此我建议您熟悉undo a bad rebase.的多种方式。最重要的是,请记住反对的黄金法则:永远不要改变你与他人分享的历史。