如果这个问题已经被彻底、明显地回答了很多次,我很抱歉;但是我已经搜索了至少一个星期,仍然找不到关于我遇到的问题的信息。
简单来说,我们有3个人在一个项目上工作,每个人都有自己的分支,我们经常将它们合并回主干。问题是,我们要么会出现冲突(尝试挑选),要么似乎只是覆盖了主干和前两个分支的所有文件,最终没有合并任何内容,只是覆盖了。
我的问题(希望)很简单:
主干
string test1;
string test2;
string test3;
测试1分支
string test1 = "Dan Branch merged";
string test2;
string test3;
测试2分支
string test1;
string test2 = "Dave Branch merged";
string test3;
测试3分支
string test1;
string test2;
string test3 = "Will Branch merged";
当所有三个分支合并时,期望的输出如下:
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已经被降级成只是一种存储和浏览旧版本的方法,因为所有合并操作都是手动完成的。