gpt4 book ai didi

git - 在 squash rebase 之后,如何让 git 分支历史与 master 匹配?

转载 作者:太空狗 更新时间:2023-10-29 14:08:47 28 4
gpt4 key购买 nike

假设我有以下树结构:

A-B-C-D
|\E-F (branch one)
\G-H (branch two)

Master history: A-B-C-D
Branch one history: A-B-C-E-F
Branch two history: A-B-C-G-H

我想压缩提交 B,所以各自的历史应该是这样的:

A-C-D
A-C-E-F
A-C-G-H

我发现,在我压缩 master 之后,当我检查一两个分支时,当我运行 git log 时,它们仍然显示旧的历史记录。分支时git会复制树吗?我是否需要分别对每个分支进行 rebase ?

谢谢

最佳答案

是的,您需要分别对每个分支进行 rebase 。删除提交 B 后,您会得到

Master history: A-C'-D'
Branch one history: A-B-C-E-F
Branch two history: A-B-C-G-H

其中 C' 和 D' 类似于 C 和 D,只是 B 从历史记录中删除。分支一和二不受 master rebase 的影响。结果的另一种观点是:

A-C'-D'
|\B-C-E-F (branch one)
\B-C-G-H (branch two)

其中 A,而不是 C,现在是所有分支中最近的共同祖先。

关于git - 在 squash rebase 之后,如何让 git 分支历史与 master 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981059/

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