首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除git-diff中省略的行。

排除git-diff中省略的行。
EN

Stack Overflow用户
提问于 2022-09-20 10:08:51
回答 1查看 46关注 0票数 1

如果我们有下面的代码:

代码语言:javascript
复制
1: int a = 1;
2: int b = 2;
3: int c = 3;
4: int d = 4;

我们删除了第2行和第3行,并将第1行改为int a = 0;

例如:

代码语言:javascript
复制
1: int a = 0;
2: int d = 4;

git将显示如下输出:

代码语言:javascript
复制
1: - int a = 1;
2: - int b = 2;
3: - int c = 3;
4: + int a = 0;
5:   int d = 4;

我怎么才能不显示上面的line 2 and 3呢?它只应该输出如下内容:

代码语言:javascript
复制
1: - int a = 1;
2: + int a = 0;
3:   int d = 4;

我正在创建一个脚本,如果它只显示已修改的行(实际更新的行,例如在行中更改了一些值的行),而不显示已删除的行,则解析diff结果会更容易。

有这种可能吗?如果没有,还有其他解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 12:55:53

不,这是不可能的,因为您无法知道一对删除和添加是否实际上是一种修改。

你怎么知道int a = 1变成了int a = 0,而不是int b = 2变成了int a = 0

让我稍微修改一下您的补丁,并询问您将保留哪些行:

代码语言:javascript
复制
-int a = 1;
-int b = 2;
-int c = 3;
+int b = 1;
 int d = 4;
代码语言:javascript
复制
-int a = 1;
-int b = 2;
-int c = 3;
+long c = 3;
 int d = 4;
代码语言:javascript
复制
-int a = 1;
-int b = 2;
-int c = 3;
+float e = 4.2;
 int d = 4;
代码语言:javascript
复制
-int a = 1;
-int b = 2;
-int c = 3;
+string name = "marc";
 int d = 4;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73785025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档