Просмотр 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 не висит.