Git工作流程:处理两个依赖的分支

时间:2015-09-23 09:00:17

标签: git git-workflow

有3个分支:

  1. var new_data = '?'+data.join('&'); =生产分支
  2. master =基于feature_1
  3. 的分支
  4. master =依赖于feature_2的分支
  5. 在完成后将分支feature_1合并到主控的正确方法是什么? 通常我使用rebase,但在这种情况下,它会引发很多冲突,因为feature_1分支与feature_2经常合并(因为它会改变feature_1分支中的所有提交哈希值)。

    使用常规合并是唯一的选择吗?

    或许这种类型的工作流程有更好的方法吗?

    另一个后续问题:

    1. feature_1 - 包含master
    2. feature_1 - 已完成并合并为主人
    3. feature_1 - 依赖并与feature_2
    4. 同步
    5. feature_1 - 依赖于feature_3feature_1分支的新分支
    6. 开始使用分支feature_2的正确方法是什么?

      提前致谢!

1 个答案:

答案 0 :(得分:2)

在这种情况下使用merge会更容易,而不是rebase,因为rebase可能会引发大量间歇性冲突。就您的跟进问题而言,请偶尔将master合并到feature1feature2并继续将它们合并到feature3中,以便所有这些都保留在struct A { /* ... */ }; // assume is non-trivial struct B { /* ... */ }; // assume is non-trivial using UA = std::unique_ptr< A >; using UB = std::unique_ptr< B >; union U { UA a; UB b; }; U u{std::make_unique< A >(/* init */)}; u.a = nullptr; // destructor of underlying type A called // u.a.~UA(); // destructor of smart pointer itself ::new (&U.b) UB{std::make_unique< B >(/* init */)}; 中同步,当你最终将它们合并到master中时。