Meh*_*hdi 5 git diff git-diff diff3 kdiff3
我读了一篇关于三向合并的文章(diff3).它给出了一个如何检测冲突的示例.例子是:
A=[1,4,5,2,3,6]
O=[1,2,3,4,5,6] <<< Origin
B=[1,2,4,5,3,6]
Run Code Online (Sandbox Code Playgroud)
在第一次计算OA和OB之后的差异时:
A=[1,4,5,2,3, ,6]
O=[1, ,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
和
O=[1,2,3,4,5, ,6]
B=[1,2, ,4,5,3,6]
Run Code Online (Sandbox Code Playgroud)
之后diff3 parse:
Run Code Online (Sandbox Code Playgroud)A=[1,4,5,2, 3 ,6] O=[1, ,2, 3,4,5 ,6] <<< Origin B=[1, ,2, 4,5,3 ,6]
在发现冲突后:
1
4
5
2
<<<<<<<<<A
3
|||||||O
3
4
5
=======
4
5
3
>>>>>>B
6
Run Code Online (Sandbox Code Playgroud)
按照这种方法来检测冲突,我尝试一个简单的例子:最初我有文件:
a;
b;
Run Code Online (Sandbox Code Playgroud)
我做了更新用户1更新"a;","a=0;"
用户2更新"b;","b=0;"
我得到这个结果:
xx
<<<<<<< A
int a=0;
int b;
||||||| O
int a;
int b;
=======
int a;
int b=0;
>>>
Run Code Online (Sandbox Code Playgroud)
当我合并这两个文件时,即使我没有在同一位置改变,我也有冲突(a and b are not at the same position)!有人可以解释我为什么会有这种冲突?
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |