---
title: "Git"
id: "345"
type: "page"
slug: "git"
published_at: "2026-05-19T11:30:45+00:00"
modified_at: "2026-10-04T01:21:05+00:00"
url: "https://pastukhov.com/agents/agent/docs/git"
markdown_url: "https://pastukhov.com/agents/agent/docs/git.md"
excerpt: "Git — это система контроля версий: она хранит историю изменений проекта, позволяя возвращаться к прежним…"
---

# Git

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

## Панель Git

Git — это система контроля версий: она хранит историю изменений проекта, позволяя возвращаться к прежним версиям, работать над несколькими вариантами сразу и синхронизировать проект с другими компьютерами и серверами. Панель Git в [панели состояния](/agents/agent/docs/chat)
 чата даёт полный доступ к этой истории, не выходя из приложения: отслеживание изменений, коммиты, ветки, stash и pull.

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

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

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

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

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

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

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

Коммит — это сохранение «снимка» проекта с подписью-описанием: что именно изменилось и зачем. Поле быстрого коммита заранее заполнено текущим заголовком чата. Введите описание, нажмите Enter или кнопку Commit — и одним действием **индексируются все изменённые файлы** (включая новые), создаётся коммит и изменения отправляются в удалённый репозиторий. Индексация — это «отметка» файлов, которые войдут в следующий коммит.

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

**Автоматические коммиты** (перед запуском кнопки с автонажатием, перед отправкой промпта из очереди AutoSend или задачей автоисправления) проходят тихо — без конфетти и звука. На время такого коммита список файлов ненадолго очищается, а после его завершения сверху на 10 секунд появляется зелёная плашка **«Автокоммит создан и отправлен»** — так вы сразу видите, куда делись изменения. Включить и выключить автокоммит можно в карточке «Автоклик» в настройках, а для промптов — в настройках AutoSend. Коммит перед задачей автоисправления включается отдельным переключателем «Коммит перед автоисправлением» в карточке «Автоисправление».

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

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

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

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

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

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

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

Ветка — это отдельная линия разработки: как параллельный вариант проекта, который не мешает основной версии. Удобно, например, готовить новую версию в отдельной ветке, не трогая работающий вариант. Выпадающий список веток в центре панели инструментов открывает меню с пятью операциями:

- **Переключить ветку** — открывает диалог со списком всех веток (можно искать по имени); текущая ветка помечена и отключена для переключения
- **Создать ветку** — диалог ввода имени новой ветки. Имя может содержать только буквы, цифры, дефисы, подчёркивания и слеши — без пробелов
- **Объединить ветку** — выбор, какую ветку влить в текущую (слияние двух линий разработки)
- **Осмотреть ветку** — открывает [страницу коммитов](#commits-page) , отфильтрованную по текущей ветке
- **Удалить ветку** — диалог выбора ветки; удаление — необратимое действие, поэтому требует подтверждения

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

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

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

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

## Просмотр diff

Diff — это сравнение «было/стало»: полная разница между текущей версией файла и последней закоммиченной, с подсветкой синтаксиса. Нажмите на любой путь к файлу в списке, чтобы открыть диалог diff.

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

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

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

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

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

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

Вверху страницы — панель фильтрации с полем поиска по сообщениям коммитов. При фильтрации по ветке (через действие «Осмотреть ветку») появляется метка с именем активной ветки. Кнопка обновления подтягивает и привязывает новые коммиты.

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

Коммиты показываются постранично (по 10). У каждой записи:

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

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

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

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

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

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