~/tools/env/diff

.env

.env Diff

Сравнить два .env файла и показать различия по ключам.

Как это работает

Локальный .env отличается от staging версии, а от продакшн версии отличается уже оба, и в какой то момент непонятно, какая переменная вообще должна быть одинаковой везде, а какая специфична для окружения. Env diff online сравнивает два файла построчно по ключам и наглядно показывает, что добавлено, что удалено, а что просто изменило значение.

Результат оформлен как классический diff с плюсом для добавленных переменных, минусом для удаленных и парой плюс минус для тех, что присутствуют в обоих файлах, но с разными значениями, ключи без изменений показываются нейтральным цветом для полноты картины.

Полезно применять при подготовке нового окружения по образцу существующего, при код ревью изменений .env.example в Pull Request, или просто чтобы быстро понять, синхронизированы ли конфиги двух разработчиков в команде после долгого отпуска одного из них.

Частые вопросы

Показывает ли инструмент значения переменных или только названия ключей?

Показывает и то и другое, для измененных и удаленных переменных видно старое значение, а для измененных и добавленных видно новое значение, так что различия понятны сразу без дополнительного открытия файлов.

Что если в одном файле переменная закомментирована, а в другом нет?

Закомментированные строки, начинающиеся с решетки, не участвуют в сравнении вообще, инструмент сравнивает только реально активные пары ключ значение.

Учитывается ли порядок строк в файлах при сравнении?

Нет, сравнение идет по ключам вне зависимости от их порядка в исходных файлах, ключи в результате сортируются по алфавиту для единообразия, а не выводятся в порядке появления в файлах.

Можно ли скопировать результат сравнения для вставки в Pull Request?

Да, кнопка копирования сохраняет текстовое представление diff в буфер обмена, оно неплохо смотрится и внутри комментария на GitHub, если обернуть его в блок кода.