繁体   English   中英

Git:如何删除提交的父提交

[英]Git: How to remove commit's parent commit

我在使用BFG的存储库中执行了一些清理操作,最终导致了一些不需要的工件。 在回购历史记录的某个时刻,我具有以下设置:

... -> A -> B -> C -> ... -> X -> Y -> Z -> ... -> HEAD/master
             \                   /
               P -> Q ----------

(both X and Q are Y's parents)

我发现P和Q现在都是空的分离的提交。 Y是一个合并提交,它也是空的(没有更改,只有另一个父项)。 在C和X之间有许多提交(包括分支和合并),与P-> Q“分支”无关。

我想删除P-> Q提交和链接,因为它们根本不包含任何更改。 结果如下:

... -> A -> B -> C -> ... -> X -> Y -> Z -> ... -> HEAD/master

我已经搜索过有关使用rebase,replace,filter-branch编辑父母的信息,但是我很难做到这一点(我是git新手)。

git rebase --onto XZ上运行git rebase --onto XZ将Z重新应用到X上(跳过y)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM