---
title: "Git"
id: "345"
type: "page"
slug: "git"
published_at: "2026-05-19T11:30:45+00:00"
modified_at: "2026-06-13T00:04:05+00:00"
url: "https://pastukhov.com/code/docs/git"
markdown_url: "https://pastukhov.com/code/docs/git.md"
excerpt: "Панель Git в панели состояния предоставляет полный интерфейс Git для вашего проекта. Она отслеживает изменения…"
---

# Git

[https://pastukhov.com/code/docs/git.md](https://pastukhov.com/code/docs/git.md)

## Панель Git

Панель Git в [панели состояния](/code/docs/chat#status-panel)
 предоставляет полный интерфейс Git для вашего проекта. Она отслеживает изменения файлов, управляет коммитами, работает с ветками, stash и pull — всё это не выходя из приложения.

Панель управляет двумя отдельными репозиториями Git одновременно:

- **Project** — основной код вашего проекта. Метка вкладки показывает количество изменённыхных файлов
- **Skills** — ваши навыки Claude Code, хранящиеся в `.claude/skills/`. Репозиторий навыков используется совместно всеми проектами, поэтому вы можете повторно использовать навыки и создавать новые на основе существующих как шаблонов

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

## Макет панели

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

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

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

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

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

Для репозитория навыков перед коммитом автоматически выполняется pull с rebase для избежания конфликтов. Если нет изменений файлов, но есть неотправленные коммиты, нажатие кнопки Commit отправит их в удалённый репозиторий.

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

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

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

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

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

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

- **Значок статуса** — цветовая кодировка по типу изменений: синий для изменённых, зелёный для добавленных, красный для удалённых, голубой для переименованных, зелёный для неотслеживаемых. Нажмите на значок, чтобы открыть [редактор файлов](/code/docs/files) с файлом в его текущем состоянии
- **Путь к файлу** — кликабельный, открывает [диалог diff](#viewing-diffs)
- **Кнопка действия** — значок 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” на активной ветке. Текущая ветка отключена для переключения
- **Создать ветку** — открывает диалог для ввода имени новой ветки. Имена должны содержать только буквы, цифры, дефисы, подчёркивания и слеши — без пробелов
- **Объединить ветку** — открывает диалог выбора ветки для выбора, какую ветку объединить в текущую
- **Осмотреть ветку** — открывает [страницу коммитов](#commits-page) отфильтрованную по текущей ветке
- **Удалить ветку** — открывает диалог выбора ветки. Удаление ветки — это разрушительное действие и требует подтверждения

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

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

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

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

## Просмотр diff

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

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

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

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

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

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

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

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

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

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

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

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

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

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

**[← Сборка и развёртывание](/code/docs/build-deploy)**

**[Настройки →](/code/docs/settings)**
