如果这个问题已经在某个地方得到了彻底、明显和多次的回答,我很抱歉;但是在搜索了至少一周后,我一直无法找到有关我遇到的这个特定问题的信息。
为简化起见,我们有 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 已被降级为存储和浏览旧版本的方法,因为所有合并都是手动完成的。