Git

Панель Git

Панель Git в панели состояния предоставляет полный интерфейс Git для вашего проекта. Она отслеживает изменения файлов, управляет коммитами, работает с ветками, stash и pull — всё это не выходя из приложения.

Панель управляет единственным Git-репозиторием вашего проекта, включающим как код проекта, так и навыки (.claude/skills/). Все изменения файлов — код, навыки, конфигурация — отображаются в едином списке.

Панель автоматически обновляется каждые 15 секунд и мгновенно обновляется при обнаружении изменений через живые подключения.


Макет панели

Каждая вкладка репозитория показывает четыре раздела, расположенные вертикально:

Информация о репозитории

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

Быстрый коммит

Текстовое поле, предварительно заполненное текущим заголовком чата. Введите сообщение коммита, нажмите Enter или кнопку Commit. Это действие индексирует все изменённые файлы (включая неотслеживаемые), коммитит их и отправляет в удалённый репозиторий — всё за один шаг.

Успешный коммит запускает праздничный конфетти со звуковым эффектом. Коммит автоматически связывается с текущим разговором в чате, чтобы вы могли проследить от любого коммита обратно к обсуждению с AI, которое его создало.

Панель инструментов

Панель инструментов над списком файлов предоставляет три группы элементов управления:

  • Слева — разделённая кнопка Pull (основное действие + выпадающий список для операций со stash), значок статуса (галочка когда чисто, предупреждение когда есть изменения), кнопка диалога файлов для просмотра полного дерева файлов и кнопка коммитов с счётчиком, открывающая выпадающий список со всеми коммитами текущей сессии чата, что упрощает проверку того, что сделал AI во время сессии
  • В центре — выпадающий список веток, показывающий имя текущей ветки. Нажмите, чтобы открыть параметры управления ветками (переключение, создание, слияние, осмотр, удаление)
  • Справа — кнопка Undo All, которая отменяет все незиндексированные изменения и удаляет неотслеживаемые файлы

Список файлов

Каждый изменённый файл отображается с четырьмя деталями:

  • Значок статуса — цветовая кодировка по типу изменений: синий для изменённых, зелёный для добавленных, красный для удалённых, голубой для переименованных, зелёный для неотслеживаемых. Нажмите на значок, чтобы открыть редактор файлов с файлом в его текущем состоянии
  • Путь к файлу — кликабельный, открывает диалог diff
  • Кнопка действия — значок Undo для отката незиндексированного файла или кнопка Unstage для перемещения индексированного файла обратно в незиндексированные

Список файлов ограничен 1000 файлами с кнопкой «показать больше» для загрузки остальных.


Операции Pull и Stash

Кнопка Pull на панели инструментов — это разделённая кнопка. Нажмите основную область для выполнения pull с rebase, или нажмите стрелку выпадающего списка для дополнительных операций:

  • Pull — получает удалённые изменения и перебазирует ваши локальные коммиты поверх них. Это действие по умолчанию
  • Stash — сохраняет ваши текущие незакоммиченные изменения в именованный stash. Открывает диалог, где вы можете ввести сообщение stash. Ваш рабочий каталог возвращается к последнему закоммиченному состоянию
  • Unstash — применяет ранее сохранённый stash. Открывает диалог выбора со списком всех stash с их индексом и сообщением (в формате stash@{N}: message). Выберите один для его применения
  • Stash-Pull-Rebase — комбинированный рабочий процесс: сохраняет ваши изменения, получает из удалённого репозитория с rebase, затем оставляет stash для применения вручную когда будете готовы
  • Stash-Pull-Rebase-Unstash — полностью автоматизированный рабочий процесс: сохраняет изменения, получает с rebase и немедленно применяет ваши изменения обратно. Используйте это когда хотите синхронизироваться с удалённым репозиторием без прерывания работы

Управление ветками

Нажмите выпадающий список веток в центре панели инструментов, чтобы открыть меню веток с пятью операциями:

  • Переключить ветку — открывает searchable-диалог со списком всех веток. Выбор радиокнопкой с меткой «current» на активной ветке. Текущая ветка отключена для переключения
  • Создать ветку — открывает диалог для ввода имени новой ветки. Имена должны содержать только буквы, цифры, дефисы, подчёркивания и слеши — без пробелов
  • Объединить ветку — открывает диалог выбора ветки для выбора, какую ветку объединить в текущую
  • Осмотреть ветку — открывает страницу коммитов отфильтрованную по текущей ветке
  • Удалить ветку — открывает диалог выбора ветки. Удаление ветки — это разрушительное действие и требует подтверждения

Операции с файлами

Помимо быстрого коммита в один шаг, вы можете управлять файлами индивидуально:

  • Индексировать файл — отметить незиндексированный файл для включения в следующий коммит. Каждый элемент файла имеет свою кнопку действия для индексации
  • Unstage файл — переместить индексированный файл обратно в незиндексированные. Нажмите кнопку Unstage на индексированном файле
  • Undo файл — вернуть отдельный файл к последнему закоммиченному состоянию. Использует значок undo на незиндексированных файлах
  • Undo All — вернуть все незиндексированные изменения по всем файлам и удалить неотслеживаемые файлы. Кнопка на панели инструментов в правом разделе

Статусы файлов обновляются в реальном времени через живые подключения. Операции индексации и отмены запускают немедленные визуальные обновления без ожидания следующего цикла обновления.


Просмотр diff

Нажмите на любой путь к файлу в списке файлов, чтобы открыть диалог diff. Диалог показывает полную разницу между текущей версией и последней закоммиченной версией с подсветкой синтаксиса от highlight.js.

Диалог diff предоставляет:

  • Путь к файлу в заголовке диалога
  • Переключатель режима просмотра — переключение между режимами side-by-side (старая и новая версии рядом) и line-by-line (универсальный вид с чередованием добавлений и удалений)
  • Кнопка Edit — открывает файл в редакторе файлов чтобы вы могли вносить изменения напрямую
  • Адаптивная отрисовка под тему — адаптируется к вашей тёмной или светлой теме

Бинарные файлы (включая базы данных SQLite) показывают «Binary file — diff not available» вместо просмотра diff.


Страница коммитов

Откройте страницу коммитов нажатием кнопки коммитов (со счётчиком) на панели инструментов Git. Эта страница показывает полную историю коммитов для выбранного репозитория.

Фильтр и навигация

Вверху страницы есть панель фильтрации с текстовым полем для поиска по сообщениям коммитов. При фильтрации по ветке (через действие Inspect Branch) появляется метка ветки, показывающая какая ветка активна. Кнопка обновления импортирует и связывает новые коммиты.

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

Коммиты отображаются в постраничном списке (10 на страницу). Каждая запись показывает:

  • Заголовок сообщения коммита
  • Относительное время, имя ветки и короткий хеш коммита
  • Значок чата если коммит связан с разговором

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

Связывание чата и коммита

Когда AI создаёт коммит через быстрый коммит в репозитории проекта, он автоматически связывается с текущим разговором в чате. Эта интеграция соединяет вашу историю Git с историей разговоров — от любого коммита вы можете проследить обратно к обсуждению с AI которое его создало. Это обеспечивает полную прослеживаемость того, как принимались решения и какой контекст привёл к каждому изменению.