如果我们有下面的代码:
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将显示如下输出:
1: - int a = 1;
2: - int b = 2;
3: - int c = 3;
4: + int a = 0;
5: int d = 4;我怎么才能不显示上面的line 2 and 3呢?它只应该输出如下内容:
1: - int a = 1;
2: + int a = 0;
3: int d = 4;我正在创建一个脚本,如果它只显示已修改的行(实际更新的行,例如在行中更改了一些值的行),而不显示已删除的行,则解析diff结果会更容易。
有这种可能吗?如果没有,还有其他解决办法吗?
发布于 2022-12-04 12:55:53
不,这是不可能的,因为您无法知道一对删除和添加是否实际上是一种修改。
你怎么知道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;https://stackoverflow.com/questions/73785025
复制相似问题