Git 获取冲突线/范围

Git 获取冲突线/范围,git,Git,是否有可能得到哪些行号冲突?i、 e,标记之间的行。 如果我有以下文件: <<<<<<< HEAD master ======= develop >>>>>>> develop 文件开发: 1. shared 2. 3. develop 4. 5. shared 文件合并: 1. shared 2. 3. <<<<<<< HEAD 4. master 5. ==

是否有可能得到哪些行号冲突?i、 e,
标记之间的行。 如果我有以下文件:

<<<<<<< HEAD
master
=======
develop
>>>>>>> develop
文件开发:

1. shared
2. 
3. develop
4. 
5. shared
文件合并:

1. shared
2. 
3. <<<<<<< HEAD
4. master
5. =======
6. develop
7. >>>>>>> develop
8. 
9. shared
所需的输出类似于:

Master 3 - 3
Develop 3 - 3
Merged 3 - 7
  • 即,对于每个冲突,线范围是多少
  • 合并后的是奖金..=)
当您在冲突状态下运行
git diff
时,您将得到一种称为组合diff格式的特殊diff格式。为了清晰起见,我在
develope
分支中添加了第二行。看起来是这样的:

$ git diff
diff --cc foo
index 1f7391f,1e25601..0000000
--- a/foo
+++ b/foo
@@@ -1,1 -1,2 +1,6 @@@
++<<<<<<< HEAD
 +master
++=======
+ develop
+ second line
++>>>>>>> develop

更多信息,请参见的
组合差异格式

如果上面有另一个冲突怎么办?它怎么知道它们应该是什么行号?我不确定我是否理解您的意思,但通过文件中的\r\n个字符来确定。谢谢,我不确定我是否完全理解。如何知道冲突所在的行号(范围..)。。如果我不清楚,很抱歉,但我需要行号(在您的示例中:在master中,冲突行是1,在develop 1-2中)
@@@1,1-1,2+1,6@@@<代码>-1,1
表示
1
行,包括
1
行<代码>-1,2
表示从第
1
行开始并包括第
2行<代码>+1,6
6
行(包括冲突标记)来自并包括行
1
。谢谢jsageryd,我觉得自己很傻:哦,我用一个更具体的例子编辑了我的问题,从你的回答中我了解到第一个数字说明冲突从哪一行开始,第二个说明冲突有多少行。。。但我在编辑的问题中的最后一个例子并没有解决这个问题。你介意在你的问题中添加所需的输出吗
Master 3 - 3
Develop 3 - 3
Merged 3 - 7
$ git diff
diff --cc foo
index 1f7391f,1e25601..0000000
--- a/foo
+++ b/foo
@@@ -1,1 -1,2 +1,6 @@@
++<<<<<<< HEAD
 +master
++=======
+ develop
+ second line
++>>>>>>> develop
@@@ -1,1 -1,2 +1,6 @@@
    |    |    |
    |    |     - file with conflict markers
    |     - develop
     - master