diff-so-fancy
ist bestrebt, Ihre Diffs für Menschen lesbar statt maschinenlesbar zu machen. Dies trägt zur Verbesserung der Codequalität bei und hilft Ihnen, Fehler schneller zu erkennen.
Vanilla git diff
vs git
und diff-so-fancy
Kopieren Sie einfach das diff-so-fancy
-Skript aus der neuesten Version in Ihren $PATH
und schon sind Sie fertig. Um Entwicklungsfunktionen zu testen, können Sie alternativ dieses Repo klonen und dann das diff-so-fancy
Skript (Symlink funktioniert) in Ihren $PATH
einfügen. Das lib/
-Verzeichnis muss relativ zum Kernskript beibehalten werden.
Wenn Sie ein ZSH-Framework wie zgenom oder oh-my-zsh verwenden, finden Sie detaillierte Installationsanweisungen unter Zsh-Plugin-Unterstützung für diff-so-fancy.
diff-so-fancy
ist auch in der NPM-Registrierung brew, als Paket auf Nix, Fedora, im Arch-Extra-Repo und als ppa:aos für Debian/Ubuntu Linux verfügbar.
Probleme im Zusammenhang mit der Paketierung („Installation funktioniert nicht“, „Version ist veraltet“ usw.) sollten gegebenenfalls an die eigenen Repositorys/Issue-Tracker dieser Pakete weitergeleitet werden. Probleme im Zusammenhang mit der Paketierung („Installation funktioniert nicht“, „Version ist veraltet“ usw.) sollten gegebenenfalls an die Repositorys/Issue-Tracker dieser Pakete weitergeleitet werden.
Hinweis: Windows-Benutzer müssen möglicherweise MinGW oder das Windows-Subsystem für Linux installieren.
Konfigurieren Sie Git so, dass es diff-so-fancy
für alle Diff-Ausgaben verwendet:
git config --global core.pager " diff-so-fancy | less --tabs=4 -RF "
git config --global interactive.diffFilter " diff-so-fancy --patch "
Die Standard-Git-Farben sind nicht optimal. Die für den Screenshot oben verwendeten Farben waren:
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 "
Verwenden Sie -u
mit diff
für eine einheitliche Ausgabe und leiten Sie die Ausgabe an diff-so-fancy
weiter:
diff -u file_a file_b | diff-so-fancy
Es unterstützt auch den rekursiven Modus von diff mit -r
oder --recursive
als erstem Argument
diff -r -u folder_a folder_b | diff-so-fancy
diff --recursive -u folder_a folder_b | diff-so-fancy
Soll der erste Block einer Leerzeile farbig sein? (Standard: true)
git config --bool --global diff-so-fancy.markEmptyLines false
Vereinfachen Sie Git-Header-Blöcke in ein besser lesbares Format. (Standard: true)
git config --bool --global diff-so-fancy.changeHunkIndicators false
Sollte das lästige +
oder -
am Zeilenanfang entfernt werden? (Standard: true)
git config --bool --global diff-so-fancy.stripLeadingSymbols false
Standardmäßig verwendet das Trennzeichen für den Dateikopf Unicode-Linienzeichnungszeichen. Wenn dies zu Ausgabefehlern auf Ihrem Terminal führt, setzen Sie dies auf false
um stattdessen ASCII-Zeichen zu verwenden. (Standard: true)
git config --bool --global diff-so-fancy.useUnicodeRuler false
Standardmäßig erstreckt sich das Trennzeichen für den Dateikopf über die gesamte Breite des Terminals. Mit dieser Einstellung können Sie die Breite des Dateikopfes manuell festlegen.
git config --global diff-so-fancy.rulerWidth 80
Person | Rolle |
---|---|
@scottchiefbaker | Projektleitung |
@OJFord | Fehlertriage |
@GenieTim | Travis OSX-Korrekturen |
@AOS | Debian-Paketer |
@Stevemao/@Paul Irish | NPM-Release-Team |
Pull-Requests sind durchaus willkommen und sollten auf den next
Branch abzielen. Wir sind auch auf der Suche nach Feedback oder Ideen, wie wir diff-so-fancy
noch schicker machen können.
MIT