将多个分支合并为一个分支

时间:2015-05-22 12:55:32

标签: git

假设我有分支o1 o2 o3 o4

他们都有多个提交,其中o1中的所有提交都是在o2之前制作的o3之前提交的......

我想创建一个分支d1,其中包含来自o1o2o3o4的所有提交。即相同的哈希标识符您可以假设它们彼此不冲突。

主要目的是,如果它们合并到项目中的其他位置,则不会检测到重复提交(具有相同更改的2个不同提交)。

我很困惑,试图这样做是因为git merge在合并后移除了分支,这是我唯一能够想到的东西和樱桃挑选(如果我理解正确的话),不是&#39 ; t似乎是一个合适的选择。

1 个答案:

答案 0 :(得分:1)

如果您的历史记录看起来像这样,那么您可以在不修改哈希值的情况下创建d1的唯一方法是:

* -- * -- * -- * -- * -- * -- * -- * -- * -- * -- *
     o1             o2             o3             o4

也就是说,如果您从o1可以访问的所有内容也可以从o2等处访问。否则,创建分支d1将涉及从旧版本创建至少一个新提交一,新的父母有不同的父母。提交的父级对其哈希值有贡献,因此无法实现所需。