gpt4 book ai didi

Git 差异 : is it possible to show ONLY changed lines

转载 作者:IT王子 更新时间:2023-10-29 01:22:31 25 4
gpt4 key购买 nike

我试图只获取已更改的行的新版本,而不是 git diff 显示的所有其他信息。

对于:

git diff HEAD --no-ext-diff --unified=0 --exit-code -a --no-prefix

显示:

diff --git file1 file2
index d9db605..a884b50 100644
--- file1
+++ file2
@@ -16 +16 @@ bla bla bla
-old text
+new text

我只想看到:

new text

这可能吗?

最佳答案

仅添加的行在所有情况下都没有意义。如果你替换了一些文本 block 并且你碰巧包含了之前存在的一行,git 必须匹配并猜测。 - 通常 git diff 的输出可以用作 patch 的输入,因此是有意义的。只有添加的行没有精确定义,因为 git 在某些情况下必须猜测。

如果您仍然需要它,则不能单独信任前导 + 符号。也许过滤所有绿线更好:

git diff --color=always|perl -wlne 'print $1 if /^\e\[32m\+\e\[m\e\[32m(.*)\e\[m$/'

for only deleted lines filter for all the red lines:

git diff --color=always|perl -wlne 'print $1 if /^\e\[31m-(.*)\e\[m$/'

要检查输出中的颜色代码,您可以使用:

git diff --color=always|ruby -wne 'p $_'

关于Git 差异 : is it possible to show ONLY changed lines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com