假设我们有一个带有标记提交C1 C2 C3和C4的分支A.我需要删除C2并保留任何其他提交所做的所有更改。
以一种微不足道的方式让我们想到单个代码文件在提交C1中我已经引入了functionOne,在C2中有functionTwo等等......直到C4。
我的想法是使用C1 C3和C4的樱桃采摘,但似乎不起作用或不是最好的解决方案。
有人知道如何达到我想做的事情吗? 什么可能是避免/从分支中删除提交的最佳解决方案,保持提前和提交更改?
答案 0 :(得分:2)
您可以使用interactive rebase:git rebase -i <origin-commit>
。
在提交列表中,您只需删除包含要删除的行的行,它就会从重新分支的分支中删除。
请注意,它实际上会创建新的提交(通常使用git),如果分支已经共享,则必须执行强制推送。