簡體   English   中英

排除 git-diff 中省略的行

[英]Exclude omitted lines in git-diff

如果我們有以下代碼:

1: int a = 1;
2: int b = 2;
3: int c = 3;
4: int d = 4;

我們刪除了第 2 行和第 3 行,並將第 1 行更改為int a = 0;

例如

1: int a = 0;
2: int d = 4;

git diff 會像這樣顯示 output:

1: - int a = 1;
2: - int b = 2;
3: - int c = 3;
4: + int a = 0;
5:   int d = 4;

如何讓 git-diff 不顯示上面的line 2 and 3 它應該只有 output 是這樣的:

1: - int a = 1;
2: + int a = 0;
3:   int d = 4;

我正在創建一個腳本,如果它只顯示修改后的行(已經真正更新的行,例如更改了行內的一些值)而不是刪除的行,我將更容易解析差異結果

這可以用 git-diff 實現嗎? 如果沒有,是否還有其他選擇可以解決此問題?

不,這是不可能的,因為您無法知道一對刪除和添加是否實際上是修改。

您怎么知道int a = 1已更改為int a = 0而不是int b = 2已更改為int a = 0

讓我稍微更改一下您的補丁,然后問您要保留哪些行:

-int a = 1;
-int b = 2;
-int c = 3;
+int b = 1;
 int d = 4;
-int a = 1;
-int b = 2;
-int c = 3;
+long c = 3;
 int d = 4;
-int a = 1;
-int b = 2;
-int c = 3;
+float e = 4.2;
 int d = 4;
-int a = 1;
-int b = 2;
-int c = 3;
+string name = "marc";
 int d = 4;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM