【发布时间】:2012-06-21 10:36:04
【问题描述】:
如果这个问题已经在某个地方得到了彻底、明显且可能已经多次回答,我深表歉意;但在搜索了至少一周后,我一直无法找到有关此特定问题的信息。
为了简化我们有 3 个人在一个项目上工作,每个人都有自己的分支,我们会定期将其合并回主干。问题是我们要么发生冲突(试图挑选樱桃),要么它似乎只是覆盖了 master 的所有文件,前 2 个分支与最后一个分支合并,实际上什么都不合并,只是覆盖。
我的问题是(希望)很简单:
主干
string test1;
string test2;
string test3;
test1 分支
string test1 = "Dan Branch merged";
string test2;
string test3;
test2 分支
string test1;
string test2 = "Dave Branch merged";
string test3;
test3 分支
string test1;
string test2;
string test3 = "Will Branch merged";
3 个分支合并后的期望输出:
string test1 = "Dan Branch merged";
string test2 = "Dave Branch merged";
string test3 = "Will Branch merged";
当我尝试合并测试 1 和 2 时,我实际得到的是:
自动合并失败;修复冲突,然后提交结果。
<<<<<<< HEAD
+ String test1 = "Dan Branch merged";
+ String test2;
+ String test3;
=======
+ String test1;
+ String test2 = "Dave Branch merged.";
+ String test3;
>>>>>>> test2
我目前在 Windows 上使用 git-gui(计划在我最终了解 git 时更改为 bash/shell/cli)所以如果有可能的话,如果有任何答案,那就太好了专门为 git-gui 提供的,但乞丐当然不能选择。
为了简单起见,存储库位于本地网络文件夹而不是任何服务器上。我不知道这是否会影响实现(如果我猜对了它们的用法,我想 push 和 pull 将不会被使用)
目前,Git 已被降级为存储和浏览旧版本的方法,因为所有合并都是手动完成的。
【问题讨论】:
-
你会挑选,因为这 3 个贡献者不会合并他们在 master 中的所有提交,还是因为你不知道任何替代方案?
-
@ChristophEberhardt 我不知道任何替代方案。我们都在规定的时间工作,在这些时间里,我们都得到了当前的主干线并在它的不同部分工作。如果我们尝试将它们一一合并回主干,似乎只是用合并分支覆盖合并到的分支。
-
合并一个分支到master后,解决冲突后是否提交?