Git挤压了我从其他人那里撤出的本地提交

时间:2012-05-30 09:35:23

标签: git

我想使用rebase -i来压缩一些本地提交,但是我已经进入并在我的本地提交之间合并了其他人的更改。是否仍然可以使用此命令?

2 个答案:

答案 0 :(得分:1)

我相信它在不久前得到了对变种合并的支持,所以试试吧。

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

将来,请使用git pull --rebasegit fetch,然后使用git rebase-i),而不是简单地拉到您的私人工作分支机构,这样您的更改最终会被重新定位你拉的东西,而不是与合并混合。

答案 1 :(得分:1)

来自git rebase手册页:

  

-p, - 预约 - 合并   而不是忽略合并,尝试重新创建它们。

它还包括警告:

  

这在内部使用--interactive机器,但明确地将它与--interactive选项结合使用通常不是一个好主意,除非你   知道你在做什么。

警告提到discussion here.发布git rebase -i -p可能会在重新排序提交时导致意外结果,因此我建议您熟悉undo a bad rebase.的多种方式。最重要的是,请记住反对的黄金法则:永远不要改变你与他人分享的历史。