Back

Как улучшить читаемость git diff с помощью diff-so-fancy

Как улучшить читаемость git diff с помощью diff-so-fancy

Чтение обычных Git-диффов может быть утомительным. Стандартный вывод плотный, часто заполнен плюсами и минусами, и его трудно быстро просматривать. Если вы часто просматриваете изменения, улучшение читаемости диффов может сэкономить время и помочь быстрее обнаруживать проблемы.

В этой статье мы покажем, как улучшить читаемость Git-диффов с помощью diff-so-fancy — инструмента, разработанного для того, чтобы сделать диффы более приятными для глаз.

Ключевые моменты

  • diff-so-fancy улучшает читаемость Git-диффов благодаря лучшему форматированию и цветовому оформлению
  • Установка и настройка занимает всего несколько шагов
  • Четкие диффы облегчают точный анализ изменений

Почему важна читаемость Git diff

Когда вы запускаете git diff, Git показывает изменения с символами вроде + и - в начале строк. Хотя это функционально, визуально это может быть неприятно, особенно для больших изменений кода.

Трудночитаемые диффы могут привести к пропуску ошибок, замедлению проверки кода и умственной усталости. Улучшение способа отображения диффов в Git — это небольшое изменение, которое значительно повышает ежедневную продуктивность.

Связанное чтение: Как создавать и использовать Git-алиасы для ускорения рабочего процесса

Что такое diff-so-fancy?

diff-so-fancy — это небольшая утилита, которая берет вывод Git diff и форматирует его для лучшей читаемости. Она удаляет лишние маркеры, четче выделяет изменения и структурирует вывод так, чтобы вы могли быстрее просматривать код.

Ключевые улучшения:

  • Более четкие добавления и удаления
  • Выделение измененных слов внутри строк
  • Более чистые заголовки фрагментов
  • Более удобная для просмотра группировка блоков

Как установить diff-so-fancy

Вы можете легко установить diff-so-fancy через распространенные менеджеры пакетов.

На macOS с Homebrew:

brew install diff-so-fancy

На Ubuntu или Linux на базе Debian:

sudo apt install diff-so-fancy

Или клонировать напрямую с GitHub:

git clone https://github.com/so-fancy/diff-so-fancy.git

Убедитесь, что diff-so-fancy находится в системном пути после установки.

Как настроить Git для использования diff-so-fancy

После установки вам нужно указать Git, чтобы он направлял диффы через diff-so-fancy.

Настройте его с помощью следующих команд Git-конфигурации:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"

Эта настройка:

  • Направляет все диффы через diff-so-fancy
  • Сохраняет цветной вывод
  • Делает поведение прокрутки в less чистым и отзывчивым

Вы также можете создать Git-алиас, если предпочитаете вызывать его вручную. Пример:

git config --global alias.dsf "!git diff --color | diff-so-fancy"

Теперь вы можете запустить git dsf в любое время, чтобы увидеть более красивый дифф.

До и после: видим разницу

Стандартный вывод git diff:

- old line of code
+ new line of code

С diff-so-fancy:

  • Выделяются только измененные части строки
  • Имена файлов и заголовки фрагментов легче просматривать
  • Изменения структурированы так, что естественно следуют за взглядом

Это помогает быстро понять, что изменилось, без лишнего шума.

Заключение

Небольшие улучшения в вашем ежедневном рабочем процессе с Git со временем накапливаются. Настройка Git с diff-so-fancy делает ваши диффы более читаемыми, ускоряет проверки и снижает вероятность ошибок. Если вам понравилось это улучшение, вам также может быть полезна статья Использование сокращений URL в Git для ускорения клонирования репозиториев.

Часто задаваемые вопросы

Нет. Он изменяет только способ отображения диффов. Ваша история Git и данные остаются неизменными.

Да. Вы можете отменить настройку Git или вызвать `git --no-pager diff`, чтобы временно обойти его.

Он в основном улучшает вывод `git diff` и `git log -p`. Другие команды остаются без изменений.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers