Osx

是什麼導致diff執行git diff

  • February 3, 2017

我想diff按照此處和輸入時看到的文件中的說明使用man diff. 但是,當我輸入 時diff,我得到的是:

~ ❯❯❯ diff
usage: git diff --no-index <path> <path>

同樣,當我嘗試使用 diff時,我會收到 git 錯誤,因為-rq它支持man diff但不支持git diff

~ ❯❯❯ diff -rq ~/ ~/Desktop
fatal: invalid diff option/value: -rq

我正在使用Preztohub,它們都有助於提高 git 的生產力,但據我所知,它們都不會創建至少不以 .開頭的別名g

我已經執行了一些這樣的腳本diff嘗試找到定義git diff但無濟於事的東西。

我該如何解決這個問題/找到導致它的原因/覆蓋它?

編輯

type diff

diff is a shell function
diff is /usr/bin/diff

這似乎是從prezto 定義一個函式覆蓋diff。它可能有辦法禁用它,但我不知道它是什麼(但 ericbn 可以!)。你有幾個選擇:

  • /usr/bin/diff或者command diff都將執行diff命令,而不是函式。
  • unset -f diff將刪除該diff功能。你可以把它放在你的shell配置中。
  • 如您所見,如果colordiff已安裝,則git diff該功能將優先使用它。
  • 最後,您可以從該文件本身中刪除或重命名該函式。

這似乎真的是 prezto 中的一個錯誤功能。

引用自:https://unix.stackexchange.com/questions/248874