【发布时间】:2019-07-17 21:55:09
【问题描述】:
当我发出如下命令时:
git diff -U10 C:\text1.c C:\text2.c
我得到一个输出:
diff --git "a/C:\text1.c" "b/C:\text2.c"
--- "a/C:\text1.c"
+++ "a/C:\text2.c"
@@ -345,31 +456,32 @@ <content of the files>
如何摆脱这些行直到@@?我也尝试了--color-word 选项,但没有更改输出。
为了摆脱 C 文件中的 cmets,我做到了
git diff -G'(^[^\*# /])|(^#\w)|(^\s+[^\*#/])' -U10 C:\text1.c C:\text2.c
在这里指定:How to make git diff ignore comments。但它不起作用。它不会删除输出上的任何 cmets。如何解决这两个问题?
【问题讨论】:
-
您看到的不是 cmets,而是提到了哪些文件已被添加/删除。您确定想要显示此类信息吗?
-
@ObsidianAge 我只是想将 git diff 的结果保存在一个字符串中。该信息与我正在尝试做的事情无关:)
-
@ObsidianAge 另外,我正在尝试从 C 文件中删除 cmets。
-
似乎您只想将输出通过管道传输到
sed '/^diff/,/^@@/d' -
@WilliamPursell 效果很好!是否有可能从带有
git diff的文件中删除 cmets 并在删除 cmets 后得到-U10行?