Почему PR в GitHub кажется меньше, если скрыть пробелы

Dev
Просмотры 4

Небольшая правка теряется среди красных и зелёных строк, если форматтер одновременно меняет отступы всего файла. В обновлении от 22 октября GitHub позволил сохранять личную настройку отображения пробелов между pull request.

Настройка для следующего PR

В Files changed → Settings → Whitespace changes доступны Always show, Always hide и Hide for this diff only. Сохранённая настройка личная и действует между PR. При скрытии пробелов рядом с All commits появляется Hide whitespace; X временно показывает пробелы, не меняя настройку.

Количество файлов и статистика соответствуют отображаемому diff. Меньшие числа не обязательно означают, что автор убрал изменения. Активный фильтр может объяснить разные цифры у двух читателей одного PR.

Найти строку за форматированием

Мы написали JavaScript-пример расчёта цены с налогом. Новая версия округляет результат до двух знаков и меняет отступ с двух на четыре пробела. Изображение показывает реальный локальный git diff, а не интерфейс GitHub.

Обычный diff показывает вычисление и return как заменённые строки. С git diff -w вычисление остаётся контекстом, а изменённый return выделяется. Так проще обсуждать округление, отрицательные значения и существующие тесты. Читаемость улучшается, но корректность не доказывается.

Реальный вывод собственного примера цены: обычный diff сверху, -w снизу. Округление видно в обоих.
Реальный вывод собственного примера цены: обычный diff сверху, -w снизу. Округление видно в обоих.

Пробел иногда меняет поведение

Отступы Python, уровни YAML и пробелы в строках могут иметь смысл. Замена "Hello world" на "Helloworld" меняет видимый текст. -w управляет сравнением пробелов, но не понимает семантику языка.

В этом простом строковом примере -w действительно не выводит diff. Второе изображение фиксирует выполненный запуск. Это не доказывает полного совпадения GitHub с локальным Git, но объясняет, зачем снова открывать полный diff там, где пробелы значимы.

Собственный строковый пример выполнен локально: значение меняется, хотя diff -w может быть пустым.
Собственный строковый пример выполнен локально: значение меняется, хотя diff -w может быть пустым.

Больше ширины новому файлу

В split view новые и удалённые файлы теперь занимают обе колонки. Когда старой версии для сравнения нет, дополнительная ширина уменьшает переносы длинных типов и названий тестов.

В смешанном PR можно сначала прочитать логику с фильтром, затем показать пробелы для строк и структуры. Отдельный коммит форматирования тоже проясняет намерение. Настройка сокращает клики; понимание поведения остаётся задачей ревью.

Официальные источники

GitHub Changelog · 2026-10-22

Git · git-diff

GitHub Docs · Reviewing proposed changes

Проверено 23 октября 2026 года по официальному объявлению и документации Git; оба сравнения выполнены локально.