GitBorGitBor

Просмотр diff

Режимы Inline / Split / Whole File, постановка блоков, diff картинок, превью Markdown и чистка stat-dirty

Просмотрщик diff показывает изменения файла — добавленные, удалённые и изменённые строки. Работает для незакоммиченных изменений, staged-области и содержимого любого коммита.

Три режима просмотра

Переключатель режимов — в правом верхнем углу панели diff.

РежимКогда полезен
InlineИзменения в одну колонку, одно за другим. Хорош для коротких diff и узких экранов.
Split (бок о бок)«До» и «После» в двух колонках. Хорош для крупных переписываний и сравнений.
Whole FileВесь файл с подсветкой изменений на месте — для полного контекста. Очень большие файлы откатываются к режиму «только изменения» с уведомлением.

Есть также кнопка Open in full screen — посмотреть большой diff без окружающего интерфейса.

Как рисуются строки

Синтаксис подсвечивается по расширению файла, а каждый блок (hunk) показывает старые и новые номера строк в отдельных колонках. Префиксы + / из git diff не входят в текст — состояние строки показано только цветом фона. Поэтому копирование из diff никогда не тащит за собой эти символы, а подсветка синтаксиса остаётся корректной. По правому клику — Copy line или Copy выделения.

Постановка по блокам (hunk)

Наведите на блок: появится тонкая рамка и плавающая панель в его правом верхнем углу.

  • Stage — переносит в индекс только этот блок; остальной файл остаётся в рабочей копии.
  • Discard… — откатывает блок в рабочей копии после подтверждения; другие блоки не трогаются.
  • Unstage — появляется в staged-diff и вытаскивает блок обратно из индекса.

Никакой постоянный заголовок не занимает место на каждом блоке, поэтому в длинных файлах на экране умещается больше изменений. Работает одинаково в Inline и Split и доступно с клавиатуры — наведите фокус на блок через Tab, и появятся те же кнопки.

Ignore Whitespace

Переключатель Ignore Whitespace в заголовке прячет изменения, состоящие только из пробелов и пустых строк — удобно, когда весь diff — это переформатирование.

Diff картинок

Для изображений GitBor сравнивает версии визуально — режимы Side by Side и Overlay (со слайдером прозрачности) вместо бинарного текста. Сравнение картинок внутри коммитов требует извлечения git-blob, что GitBor делает за вас.

Превью Markdown

Для Markdown-файлов кнопка Preview Markdown рендерит файл так, как он будет выглядеть, а не просто как сырой текст.

«Нет реальных изменений» (stat-dirty)

Иногда Git помечает файл изменённым, хотя содержимое совпадает с закоммиченной версией — обычно из-за различий в окончаниях строк (CRLF/LF) или инструмента format-on-save, тронувшего файл. GitBor это распознаёт и предлагает Remove from changes: переписать файл из git-версии и убрать из списка изменений. Реальные правки никогда не теряются.

Поддерживаемые источники diff

  • Незакоммиченные изменения — то, что вы правите сейчас.
  • Staged-изменения — то, что войдёт в следующий коммит.
  • Содержимое коммита — diff внутри любого коммита.
  • Новые файлы — показывается весь текст.
  • Первый коммит репозитория — рисуется корректно без родителя.

Действия с файлами и папками

У дерева Local Changes есть контекстное меню:

  • Файл: Stage / Unstage / Discard, плюс Blame и File History (см. Blame и история).
  • Папка: Stage all / Unstage all / Discard all / Delete untracked — применяется ко всем файлам внутри, в staged- и unstaged-секциях.

Авто-закрытие после коммита

Когда файл уходит из списка изменений (например, попал в коммит), его панель diff закрывается автоматически — устаревший diff не висит.