我从从
git diff <commitId>..<commitId>
我遇到了@@ -1 +1 @@
我搞不懂这是怎么回事。
发布于 2018-03-29 14:53:39
它是一个统一的diff块标识符。
发布于 2018-03-29 15:47:08
简单实例分析
格式基本相同diff -u
统一的差别。
例如:
diff -u <(seq -w 16) <(seq -w 16 | grep -Ev '^(02|03|14|15)$')
这里我们删除了第2、3、14和15行:
@@ -1,6 +1,4 @@
01
-02
-03
04
05
06
@@ -11,6 +9,4 @@
11
12
13
-14
-15
16
@@ -1,6 +1,4 @@
指:
-1,6
*这一段对应于第一个文件的第1至第6行:
01 02 03 04 05 06-
意思是“老”,因为我们通常把它作为diff -u old new
。+1,4
说这个片段对应于第二个文件的第1行到第4行。+
意思是“新”。
我们只有4行,而不是6行,因为2行被删除了!新来的家伙是:
01 04 05 06@@ -11,6 +9,4 @@
对于第二个大块头来说,它类似于:
11
是新文件的第9行,因为我们已经删除了前面的文件中的2行:2和3。根据git版本和配置,还可以在@@
线,例如func1() {
在:
@@ -4,7 +4,6 @@ func1() {
这也可以通过-p diff
。
示例:旧文件:
func1() {
1;
2;
3;
4;
5;
6;
7;
8;
9;
}
如果我们移除线6
,差异显示:
@@ -4,7 +4,6 @@ func1() {
3;
4;
5;
- 6;
7;
8;
9;
请注意,这不是正确的行func1
*它跳过了行1
和2
。
https://stackoverflow.com/questions/-100003740
复制相似问题