Skip to content

Log (RU)

Baidak.D edited this page Jul 11, 2026 · 2 revisions

English · Русский

Kitten для kitty: оверлей просмотра истории git — экран списка коммитов (текущая ветка или все ветки, с графом веток) и по выбранному коммиту его изменения в двухпанельном виде (дерево файлов + unified diff), как в review, с подсветкой синтаксиса, поиском и копированием в буфер для вставки в промт Claude.

Двухпанельная diff-механика — тот же базовый класс, что у review; здесь добавлен экран списка коммитов, граф веток и панель подробностей.

log — список коммитов с графом веток и панелью подробностей

Что умеет

  • Список коммитов текущей ветки; переключатель a — показать все ветки (--all).
  • Граф веток слева (тумблер g) — цветные лейны слияний/ответвлений, как в IDE.
  • Панель подробностей справа (тумблер i): полное сообщение коммита, автор, почта, дата, коммиттер (если отличается) и список веток, в которых есть коммит.
  • Ref-метки в строке: локальные ветки, origin & name (схлопнутая пара локаль+удалёнка), удалённые и теги — каждая своим цветом.
  • git fetch прямо из оверлея (f) — подтянуть удалёнки и перечитать список.
  • git push (p) — запушить текущую ветку после подтверждения y.
  • Копировать hash выбранного коммита (⌘c) — для вставки в промт/команду.
  • Ленивая подгрузка: коммиты тянутся пачками по мере докрутки вниз.
  • Фильтр (/) — по subject, короткому hash и автору.
  • По выбранному коммиту (Enter / ) — его изменения относительно первого родителя: дерево файлов + unified diff с подсветкой синтаксиса, word-diff, sticky-заголовком, режимом «только hunk'и ↔ весь файл» (a), прыжками по изменениям ([ / ]), горизонтальным скроллом (h / l) и поиском (/, n / N).
  • Русская раскладка шорткатов (по позиции клавиши).

Папка проекта и git-корень определяются по cwd окна, из которого нажат хоткей.

Подключение

familiar enable log

Перезагрузить конфиг: Cmd+Ctrl+, (или перезапустить kitty). Открыть: cmd+shift+l.

Минимальный fallback — ручной map в ~/.config/kitty/kitty.conf (или include-файле):

map cmd+shift+l kitten /path/to/familiar/plugins/log.py

В отличие от familiar enable, голый map лишён toggle-закрытия, защиты от повторного открытия оверлея поверх самого себя, кириллических дублей клавиш и проброса cmd+c / cmd+shift+c для копирования внутри оверлея.

Клавиши

Список коммитов

Клавиша Действие
↑/↓ навигация по коммитам
PgUp PgDn страница вверх/вниз
Home / End в начало / конец списка
Enter открыть изменения коммита
⌘c скопировать hash выбранного коммита
f git fetch — подтянуть удалёнки и перечитать
p git push текущей ветки; подтверждение — y. Ветку без upstream создаёт на origin и привязывает к нему. Подсказка видна, только пока есть незапушенное
a текущая ветка ↔ все ветки (--all)
g граф веток вкл/выкл
i панель подробностей вкл/выкл
/ фильтр по subject / hash / автору
q Esc выход

Дерево файлов коммита (Enter/ из списка)

Клавиша Действие
↑/↓ навигация по файлам (дифф справа обновляется)
g / G первый / последний файл
Enter Space свернуть/развернуть папку
Tab перейти в дифф
u показать/скрыть «шумные» папки (.idea, node_modules, …)
⌘c скопировать @путь файла/папки
Esc назад к списку коммитов

Дифф коммита (/Tab из дерева)

Клавиша Действие
↑/↓ курсор по строкам диффа
g / G к началу / концу диффа
Enter на разделителе — раскрыть скрытые строки контекста
[ / ] предыдущее / следующее изменение
PgUp PgDn скролл диффа
h / l горизонтальный скролл (длинные строки)
a режим просмотра: только hunk'и ↔ весь файл целиком
v вид панели: unified diff ↔ финальный код (как в IDE)
/ n/N поиск по диффу и переходы по совпадениям
⌘c скопировать выделение (или строку под курсором)
⌘shift+c скопировать @путь#L42 (#L42-58 для выделенного диапазона)
Tab назад в дерево
Esc снять выделение/поиск → назад в дерево → назад к списку

Мышь: клик по коммиту — выбрать, повторный — открыть; колесо — прокрутка списка. В диффе — как в review (клик — курсор, клик по — раскрыть, выделение с зажатым Shift). В обеих панелях есть полоса прокрутки; колесо скроллит панель под курсором, не двигая выделение.

Статусы файлов и «шумные» папки — как в review. В отличие от review, log — просмотр только для чтения: без аннотаций, refresh и открытия в редакторе.

Работа с Claude Code

Из истории удобно сослать Claude Code на конкретное место в коде:

  • ⌘c кладёт hash коммита (в списке), @-упоминание @путь/до/файла.py (в дереве) или выделение / строку под курсором (в диффе).
  • ⌘shift+c в диффе кладёт @путь/до/файла.py#L42, а при выделении диапазона мышью — #L42-58.

Пути — от корня репозитория, в том виде, какого ждёт Claude Code: он разрешает @путь относительно директории, из которой запущен. Навёлся на строку в диффе → ⌘shift+cCmd+V в промт, и не нужно пересказывать словами, где смотреть.

Clone this wiki locally