【发布时间】:2021-09-26 03:38:37
【问题描述】:
我有一个如下所示的 git 存储库:
/C''-D''-F (featureB)
A-B-C---D---E (main)
\C'--D'--G (featureA)
我想将常见的提交 C 和 D 移到 main 分支的前面
历史,所以回购看起来像这样:
/F (featureB)
A-B-C-D-E (main)
\G (featureA)
需要注意的是,C/C'/C'' 和 D/D'/D'' 提交修改代码的方式相同,但是由于位于不同的分支中,它们都有不同的提交哈希。
【问题讨论】:
-
在所有三个分支中 C 和 D 实际上是相同的确切提交,具有相同的提交哈希吗?如果是这样,则不清楚您的两种情况之间是否存在差异。一个分支实际上只是一个提交列表,例如
featureB在两个示例中都有相同的列表。所以你可能想澄清你的问题。另外:尽量使您的问题尽可能具体;当有很多好的documentation 可供您阅读时,这里没有人愿意坐下来为您写一个通用的git rebase教程。 -
@Caleb:他们修改代码的方式相同,但三个分支的提交哈希值不同。
-
@Caleb:谢谢,我会澄清这个问题,提到
C和D有不同的提交哈希。 -
最好给它们起不同的名字来说明清楚,通常我们使用
C'来指定一个与C基本相同但不完全一样的提交。
标签: git git-rebase git-cherry-pick git-history-rewrite