Панель Git
Git — это система контроля версий: она хранит историю изменений проекта, позволяя возвращаться к прежним версиям, работать над несколькими вариантами сразу и синхронизировать проект с другими компьютерами и серверами. Панель Git в панели состояния чата даёт полный доступ к этой истории, не выходя из приложения: отслеживание изменений, коммиты, ветки, stash и pull.
Панель управляет единственным Git-репозиторием вашего проекта — в него входят и код, и навыки (.claude/skills/). Все изменения — код, навыки, конфигурация — видны в одном общем списке.
Панель обновляется сама: каждые 15 секунд, а при изменениях — мгновенно, через живые подключения.
Макет панели
Каждая вкладка репозитория устроена сверху вниз из четырёх разделов:
Информация о репозитории
Верхний раздел показывает имя текущей ветки, отставание или опережение относительно удалённого репозитория (в коммитах) и путь к репозиторию.
Быстрый коммит
Коммит — это сохранение «снимка» проекта с подписью-описанием: что именно изменилось и зачем. Поле быстрого коммита заранее заполнено текущим заголовком чата. Введите описание, нажмите Enter или кнопку Commit — и одним действием индексируются все изменённые файлы (включая новые), создаётся коммит и изменения отправляются в удалённый репозиторий. Индексация — это «отметка» файлов, которые войдут в следующий коммит.
Успешный коммит отмечается праздничным конфетти со звуком. Коммит автоматически привязывается к текущему разговору в чате: от любого коммита можно вернуться к обсуждению с агентом, которое его создало.
Панель инструментов
Панель инструментов над списком файлов делится на три группы:
- Слева — разделённая кнопка Pull (основное действие + выпадающий список для операций со stash), значок статуса (галочка, когда всё чисто; предупреждение, когда есть изменения), кнопка диалога файлов для просмотра полного дерева и кнопка коммитов со счётчиком: она показывает все коммиты текущей сессии чата — удобно проверить, что агент сделал за время разговора
- В центре — выпадающий список веток с именем текущей. Нажмите, чтобы управлять ветками: переключение, создание, слияние, просмотр, удаление
- Справа — кнопка Undo All: отменяет все незакоммиченные изменения и удаляет новые (неотслеживаемые) файлы
Список файлов
Каждый изменённый файл показывается с четырьмя деталями:
- Значок статуса — цвет показывает тип изменения: синий — изменён, зелёный — добавлен, красный — удалён, голубой — переименован, зелёный — новый (неотслеживаемый). Нажмите на значок, чтобы открыть редактор файлов с текущим состоянием файла
- Путь к файлу — кликабелен, открывает диалог diff (сравнение версий)
- Кнопка действия — значок Undo для отката незакоммиченного файла или кнопка Unstage, возвращающая отмеченный (индексированный) файл в незакоммиченные
Список ограничен 1000 файлами; кнопка «показать больше» загружает остальные.
Операции Pull и Stash
Кнопка Pull — разделённая: нажмите основную область, чтобы выполнить pull с rebase, или стрелку выпадающего списка для дополнительных операций. Pull — это «забрать изменения с удалённого сервера», push — «отправить свои». Rebase — аккуратный способ объединить истории: ваши локальные коммиты накладываются поверх полученных изменений, и история остаётся линейной и понятной.
- Pull — получает удалённые изменения и перебазирует поверх них ваши локальные коммиты. Действие по умолчанию
- Stash — «отложить в сторону» текущие незакоммиченные изменения: они сохраняются в именованный stash (можно дать ему описание), а рабочая папка возвращается к последнему коммиту. Удобно, когда нужно на время переключиться на другую задачу, не теряя начатое
- Unstash — достаёт ранее отложенный stash и применяет его изменения обратно. Открывается список всех stash в формате
stash@{N}: message— выберите нужный - Stash-Pull-Rebase — комбинированный процесс: отложить свои изменения, получить изменения с сервера с rebase, затем применить отложенное вручную, когда будете готовы
- Stash-Pull-Rebase-Unstash — полностью автоматизированный процесс: отложить, получить с rebase и сразу применить свои изменения обратно. Используйте, когда нужно синхронизироваться с сервером без прерывания работы
Управление ветками
Ветка — это отдельная линия разработки: как параллельный вариант проекта, который не мешает основной версии. Удобно, например, готовить новую версию в отдельной ветке, не трогая работающий вариант. Выпадающий список веток в центре панели инструментов открывает меню с пятью операциями:
- Переключить ветку — открывает диалог со списком всех веток (можно искать по имени); текущая ветка помечена и отключена для переключения
- Создать ветку — диалог ввода имени новой ветки. Имя может содержать только буквы, цифры, дефисы, подчёркивания и слеши — без пробелов
- Объединить ветку — выбор, какую ветку влить в текущую (слияние двух линий разработки)
- Осмотреть ветку — открывает страницу коммитов, отфильтрованную по текущей ветке
- Удалить ветку — диалог выбора ветки; удаление — необратимое действие, поэтому требует подтверждения
Операции с файлами
Помимо быстрого коммита в один шаг, файлами можно управлять по отдельности:
- Индексировать файл — отметить незакоммиченный файл для включения в следующий коммит. У каждого элемента списка есть своя кнопка
- Unstage файл — вернуть отмеченный файл в незакоммиченные: кнопка Unstage на отмеченном файле
- Undo файл — вернуть отдельный файл к состоянию последнего коммита: значок undo на незакоммиченных файлах
- Undo All — вернуть все незакоммиченные изменения по всем файлам и удалить новые (неотслеживаемые) файлы: кнопка на панели инструментов справа
Статусы файлов обновляются в реальном времени. Индексация и отмена сразу отражаются на экране — ждать следующего цикла обновления не нужно.
Просмотр diff
Diff — это сравнение «было/стало»: полная разница между текущей версией файла и последней закоммиченной, с подсветкой синтаксиса. Нажмите на любой путь к файлу в списке, чтобы открыть диалог diff.
Диалог diff предлагает:
- Путь к файлу в заголовке диалога
- Переключатель режима просмотра — side-by-side (старая и новая версии рядом) или line-by-line (единый вид с чередованием добавлений и удалений)
- Кнопка Edit — открывает файл в редакторе файлов, чтобы вносить изменения напрямую
- Адаптация под тему — автоматически подстраивается под тёмную или светлую тему
Для бинарных файлов (включая базы данных SQLite) показывается «Binary file — diff not available» — сравнение таких файлов невозможно.
Страница коммитов
Кнопка коммитов (со счётчиком) на панели инструментов Git открывает страницу коммитов — полную историю изменений выбранного репозитория.
Фильтр и навигация
Вверху страницы — панель фильтрации с полем поиска по сообщениям коммитов. При фильтрации по ветке (через действие «Осмотреть ветку») появляется метка с именем активной ветки. Кнопка обновления подтягивает и привязывает новые коммиты.
Список коммитов
Коммиты показываются постранично (по 10). У каждой записи:
- Заголовок сообщения коммита
- Относительное время, имя ветки и короткий хеш коммита (уникальный идентификатор)
- Значок чата, если коммит связан с разговором
Нажмите на любой коммит — откроются полные детали, включая diff всех файлов, изменённых в этом коммите. Страница поддерживает постраничную навигацию и показывает общее число коммитов.
Связывание чата и коммита
Когда агент создаёт коммит через быстрый коммит в репозитории проекта, он автоматически привязывается к текущему разговору в чате. История Git соединяется с историей обсуждений: от любого коммита можно вернуться к разговору, который его создал. Так видно, как принимались решения и какой контекст привёл к каждому изменению.