gpt4 book ai didi

git - 是否可以通过简单地删除其中一个父指针来 "unmerge" merge 提交?

转载 作者:太空狗 更新时间:2023-10-29 14:41:18 26 4
gpt4 key购买 nike

我想从分支“B”中“取消 merge ”分支“A”。

/image/y4GOu.png

在上图中,这意味着简单地删除提交“095195e”和“A”之间的虚线。

我不想使用还原,因为稍后我可能会将分支“B” merge 回分支“A”,我将不得不还原还原。

另外,假设这两个分支继续进行,并且 A 又被 merge 到 B 中。是否有一种方法可以使用此“取消 merge ”操作来删除 A 到 B 的所有 merge 。

谢谢

最佳答案

你能从修订版中删除父级吗?没有。它需要重写分支 B 的历史:

git checkout e137e9b # go back to the revision before A was merged into B
git cherry-pick B~2..B # apply all changes past the point where the branches where merged
# if everything looks fine, move B pointer
git branch -f B
git checkout B

现在A和B是分开的

同样的事情可以用 rebase 来实现:

git rebase --onto e137e9b B~2 B

但它在解释发生了什么方面没有那么有用(与我在第一个食谱中所做的完全相同)。

关于git - 是否可以通过简单地删除其中一个父指针来 "unmerge" merge 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55306091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com