获取冲突线/范围

时间:2018-03-24 13:25:24

标签: git

是否可以获得哪些行号冲突?即<<<<<<<=======>>>>>>>标记之间的线。 如果我有以下文件:

<<<<<<< HEAD
master
=======
develop
>>>>>>> develop

git some command输出的是关于文件和行号的一些数据?

修改

文件大师:

1. shared
2. 
3. master
4. 
5. shared

文件开发:

1. shared
2. 
3. develop
4. 
5. shared

文件合并:

1. shared
2. 
3. <<<<<<< HEAD
4. master
5. =======
6. develop
7. >>>>>>> develop
8. 
9. shared

运行git diff

diff --cc test.txt
index cf590df,7415cb0..0000000
--- a/test.txt
+++ b/test.txt
@@@ -1,5 -1,5 +1,9 @@@
  shared

++<<<<<<< HEAD
 +master
++=======
+ develop
++>>>>>>> develop

  shared

所需的输出类似于:

Master 3 - 3
Develop 3 - 3
Merged 3 - 7
  • I.e对于每个冲突什么是行范围..
  • 合并的是奖金.. =)

1 个答案:

答案 0 :(得分:4)

当您在冲突状态下运行git diff时,您将获得一种名为组合差异格式的特殊差异格式。为清楚起见,我在develop分支中添加了第二行。它看起来像这样:

$ 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

@@@开头的行显示三个文件中每个文件的范围,在本例中为masterdevelop上的文件以及带有冲突标记的文件。

@@@ -1,1 -1,2 +1,6 @@@
    |    |    |
    |    |     - file with conflict markers
    |     - develop
     - master

man git-diffCOMBINED DIFF FORMAT部分中的详细信息。