diff-so-fancy
致力於使您的差異具有人類可讀性,而不是機器可讀性。這有助於提高程式碼品質並幫助您更快地發現缺陷。
Vanilla git diff
與git
以及diff-so-fancy
只需將最新版本中的diff-so-fancy
腳本複製到您的$PATH
中即可。或者,要測試開發功能,您可以克隆此儲存庫,然後將diff-so-fancy
腳本(符號連結將起作用)放入$PATH
中。 lib/
目錄需要與核心腳本保持相對關係。
如果您使用的是 zgenom 或 oh-my-zsh 等 ZSH 框架,請參閱 Zsh 插件對 diff-so-fancy 的支援以取得詳細的安裝說明。
diff-so-fancy
也可以從 NPM 註冊表、brew 中作為 Nix、Fedora 上的軟體包、Arch extra 存儲庫中的軟體包以及 Debian/Ubuntu Linux 上的 ppa:aos 獲得。
與打包相關的問題(「安裝不起作用」、「版本已過時」等)應直接提交給這些套件本身的儲存庫/問題追蹤器(如果適用)。與打包相關的問題(「安裝不起作用」、「版本已過時」等)應直接提交給這些軟體包的儲存庫/問題追蹤器(如果適用)。
注意: Windows 使用者可能需要安裝 MinGW 或適用於 Linux 的 Windows 子系統。
配置 git 對所有 diff 輸出使用diff-so-fancy
:
git config --global core.pager " diff-so-fancy | less --tabs=4 -RF "
git config --global interactive.diffFilter " diff-so-fancy --patch "
預設的 Git 顏色不是最佳的。上面的螢幕截圖使用的顏色是:
git config --global color.ui true
git config --global color.diff-highlight.oldNormal " red bold "
git config --global color.diff-highlight.oldHighlight " red bold 52 "
git config --global color.diff-highlight.newNormal " green bold "
git config --global color.diff-highlight.newHighlight " green bold 22 "
git config --global color.diff.meta " 11 "
git config --global color.diff.frag " magenta bold "
git config --global color.diff.func " 146 bold "
git config --global color.diff.commit " yellow bold "
git config --global color.diff.old " red bold "
git config --global color.diff.new " green bold "
git config --global color.diff.whitespace " red reverse "
將-u
與diff
一起使用以實現統一輸出,並將輸出通過管道傳輸到diff-so-fancy
:
diff -u file_a file_b | diff-so-fancy
它也支援 diff 的遞歸模式,以-r
或--recursive
作為第一個參數
diff -r -u folder_a folder_b | diff-so-fancy
diff --recursive -u folder_a folder_b | diff-so-fancy
空行的第一個區塊是否應該著色。 (預設值:true)
git config --bool --global diff-so-fancy.markEmptyLines false
將 git header 區塊簡化為更易於理解的格式。 (預設值:true)
git config --bool --global diff-so-fancy.changeHunkIndicators false
是否應該刪除行開頭的煩人的+
或-
。 (預設值:true)
git config --bool --global diff-so-fancy.stripLeadingSymbols false
預設情況下,檔案頭的分隔符號使用 Unicode 畫線字元。如果這導致終端機上出現輸出錯誤,請將其設為false
以改用 ASCII 字元。 (預設值:true)
git config --bool --global diff-so-fancy.useUnicodeRuler false
預設情況下,檔案頭的分隔符號跨越終端的整個寬度。使用此設定可以手動設定文件頭的寬度。
git config --global diff-so-fancy.rulerWidth 80
人 | 角色 |
---|---|
@斯科特酋長貝克 | 專案負責人 |
@OJ福特 | 錯誤分類 |
@GenieTim | 崔維斯 OSX 修復 |
@AOS | Debian 打包器 |
@Stevemao/@保羅愛爾蘭 | NPM發布團隊 |
拉取請求非常受歡迎,並且應該針對next
分支。我們也在尋找有關如何使diff-so-fancy
變得更精美的任何反饋或想法。
麻省理工學院