避免/删除git commit而不丢失其他提交更改

时间:2016-07-05 10:57:00

标签: git

假设我们有一个带有标记提交C1 C2 C3和C4的分支A.我需要删除C2并保留任何其他提交所做的所有更改。

以一种微不足道的方式让我们想到单个代码文件在提交C1中我已经引入了functionOne,在C2中有functionTwo等等......直到C4。

我的想法是使用C1 C3和C4的樱桃采摘,但似乎不起作用或不是最好的解决方案。

有人知道如何达到我想做的事情吗? 什么可能是避免/从分支中删除提交的最佳解决方案,保持提前和提交更改?

1 个答案:

答案 0 :(得分:2)

您可以使用interactive rebasegit rebase -i <origin-commit>

在提交列表中,您只需删除包含要删除的行的行,它就会从重新分支的分支中删除。

请注意,它实际上会创建新的提交(通常使用git),如果分支已经共享,则必须执行强制推送。