如何跳过git中的提交?

vgu*_*anp 12 git git-commit

我有一些我不希望在我的项目中提交的提交,但是有一个基于它的提交,我确实想要它.这是我的GitHub存储库"网络"图(ASCII,因为我仍然无法发布图像):

[]--[]--[_]
|        |
|        ------->|
---------->[·]--[·]--[*]
Run Code Online (Sandbox Code Playgroud)

( - >表示合并)

我想删除两个[·]提交中所做的更改,并将[*]一个基于上面的[_]一个.我尝试了合并和变基,但它们应用了不需要的提交的更改.可能吗?

对不起,如果我不清楚,英语不是我的母语.提前致谢.

Kur*_*tal 13

我可以给你两个选择:

  • 交互式rebase(git rebase -i)为您提供一个提交列表,编辑此列表将改变操作的结果; 允许您为其他操作重新排序,删除或标记这些提交.在您的情况下,您可以将[*]分支重新绑定到[_]'s并删除不需要的提交行.

  • Cherrypick允许您将单个提交的更改应用到另一个分支.在你的情况下,你可以简单地提交[*][_]分支.