爲什麼git diff
不適用於流程替換?爲什麼`git diff`不適用於進程替換?
$ echo hallo > hallo
$ echo holla > holla
$ git diff hallo holla # works
$ git diff hallo <(cat holla) # works not
diff --git a/hallo b/hallo
deleted file mode 100644
index 4cf5aa5..0000000
--- a/hallo
+++ /dev/null
@@ -1 +0,0 @@
-hallo
diff --git a/dev/fd/63 b/dev/fd/63
new file mode 120000
index 0000000..864a6ca`
與git diff --no-index
相同。
它適用於普通diff
。 cat
只是一個微不足道的例子,可以用一個不平凡的sed
表達式來代替。
解決方法:
$ cat holla | git diff hallo - # works
但是,如果這兩個參數應該用進程替換的影響,就像在DIFF和工藝替代許多例子說明它不會工作。
'$ cat holla | git diff hallo'這基本上是2行命令,因此它的工作原理 –