git --ignore-blank-lines 不起作用。有什么解决方法吗?

git --ignore-blank-lines does not work. Is there any workaround?

我不希望 diff 在空行中显示更改(如果添加或删除了它们),但是

$ git diff --ignore-blank-lines
diff --git a/bin/requestHandlers.js b/bin/requestHandlers.js
index 758d02c..6d8b98d 100644
--- a/bin/requestHandlers.js
+++ b/bin/requestHandlers.js
@@ -1,3 +1,6 @@
+var exec = require("child_process").exec;
+
+
 function start() {
    console.log("Request handler 'start' was called.");

它完全显示添加的空行。
有没有办法强制 git 在上面的示例中不显示第 2 行和第 3 行?

来自 git 的手册页:

   --ignore-blank-lines
       Ignore changes whose lines are all blank.

问题是您的更改包含一些非空白行。

删除 var exec 行,它将起作用!

虽然我不知道有什么方法可以做你想做的事。至少不整齐。

你可以试试:

git diff --ignore-blank-lines | grep -v '^\+$'

如果上下文中有编辑,该选项将被忽略。使用 -U 的较小上下文。在你的情况下 -U0.

示例使用 git 版本 2.19.1.windows.1:

git diff --ignore-space-at-eol -b -w --ignore-blank-lines 539e08 7d05ca

@@ -342,11 +385,14 @@ else
       )
       .Columns(columns =>
       {
-               columns.Bound(t => t.sStartDate).Title("Date".TranslateString(ref translation));
+          columns.Bound(t => t.StartDate).Format("{0:dd-MM-yyyy}").Title("Date".TranslateString(ref translation));
           columns.Bound(p => p.StartTime).ClientTemplate("#= sStartTime #").Title("StartTime".TranslateString(ref translation)).Width(110);
           columns.Bound(t => t.TrainingSubject).Title("Subject".TranslateString(ref translation));
+
       })
       .ClientDetailTemplateId("template")
+
+
  .Sortable(s => s.Enabled(false)))

 <div style="clear:both;height:250px">&nbsp;</div>
(END)

git diff --ignore-space-at-eol -b -w --ignore-blank-lines -U0 539e08 7d05ca

@@ -345 +388 @@ else
-               columns.Bound(t => t.sStartDate).Title("Date".TranslateString(ref translation));
+          columns.Bound(t => t.StartDate).Format("{0:dd-MM-yyyy}").Title("Date".TranslateString(ref translation));

虽然有时它会坏掉:

git diff --ignore-space-at-eol -b -w --ignore-blank-lines -U0 7d05ca

@@ -394,3 +350 @@ else
-
-
- .Sortable(s => s.Enabled(false)))
+       .Sortable(s => s.Enabled(wut)))