diff-so-fancy
стремится сделать ваши различия читаемыми человеком , а не машиночитаемым. Это помогает улучшить качество кода и быстрее обнаружить дефекты.
Ванильный git diff
против git
и diff-so-fancy
Просто скопируйте сценарий diff-so-fancy
из последней версии в $PATH
, и все готово. В качестве альтернативы для тестирования функций разработки вы можете клонировать этот репозиторий, а затем поместить скрипт diff-so-fancy
(символическая ссылка будет работать) в ваш $PATH
. Каталог lib/
должен храниться относительно основного сценария.
Если вы используете платформу ZSH, такую как zgenom или oh-my-zsh, обратитесь к поддержке плагина Zsh для diff-so-fancy для получения подробных инструкций по установке.
diff-so-fancy
также доступен из реестра NPM, Brew, в виде пакета для Nix, Fedora, в дополнительном репозитории Arch и как ppa:aos для Debian/Ubuntu Linux.
Проблемы, связанные с упаковкой («установка не работает», «версия устарела» и т. д.), следует направлять в собственные репозитории/системы отслеживания проблем этих пакетов, где это применимо. Проблемы, связанные с упаковкой («установка не работает», «версия устарела» и т. д.), следует направлять в репозитории/системы отслеживания проблем этих пакетов, где это применимо.
Примечание. Пользователям Windows может потребоваться установить MinGW или подсистему Windows для Linux.
Настройте git для использования diff-so-fancy
для всех результатов diff:
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
Должен ли быть окрашен первый блок пустой строки? (По умолчанию: правда)
git config --bool --global diff-so-fancy.markEmptyLines false
Упростите фрагменты заголовков git до более удобного для чтения человеком формата. (По умолчанию: правда)
git config --bool --global diff-so-fancy.changeHunkIndicators false
Следует ли удалить надоедливые +
или -
в начале строки. (По умолчанию: правда)
git config --bool --global diff-so-fancy.stripLeadingSymbols false
По умолчанию в качестве разделителя заголовка файла используются символы рисования линий Юникода. Если это вызывает ошибки вывода на вашем терминале, установите для этого параметра значение false
чтобы вместо этого использовать символы ASCII. (По умолчанию: правда)
git config --bool --global diff-so-fancy.useUnicodeRuler false
По умолчанию разделитель заголовка файла занимает всю ширину терминала. Используйте этот параметр, чтобы вручную установить ширину заголовка файла.
git config --global diff-so-fancy.rulerWidth 80
Человек | Роль |
---|---|
@scottchiefbaker | Руководитель проекта |
@ОДжейФорд | Сортировка ошибок |
@GenieTim | Исправления Трэвиса OSX |
@АОС | Упаковщик Debian |
@Стивемао/@Пол Айриш | Команда выпуска NPM |
Запросы на включение вполне приветствуются и должны быть нацелены на next
ветку. Мы также ждем любых отзывов и идей о том, как сделать diff-so-fancy
еще интереснее .
Массачусетский технологический институт