# Git в окне

> Окно Git в Buff Code: что изменено, коммит с сообщением от агента, отправка, ветки и история. Чип ветки под полем ввода показывает состояние и открывает окно.

Под полем ввода — чип **⎇ ветка ±N**: текущая ветка и число изменённых файлов, а если ветка
разошлась с удалённой, — стрелки ↑ и ↓. Щелчок открывает **окно Git** с тремя вкладками:
«Изменения», «Ветки», «История».

Окно следит за диском: изменения агента, команды в терминале и ваши правки в редакторе видны
без перезагрузки.

## Изменения

_Иллюстрация: Изменения рабочей копии: отмечены файлы, которые войдут в коммит._

- **Файлы** — с отметкой, войдёт ли файл в коммит, и состоянием: «изменён», «новый»,
  «удалён», «конфликт».
- **Сообщение коммита** — пишете сами или нажимаете **«Сочинить сообщение»**: агент прочитает
  изменения отмеченных файлов и разговор сессии и предложит сообщение в стиле последних
  коммитов. Его можно поправить перед коммитом. В длинной сессии ответ может занять минуту-две.
- **«Закоммитить»** — коммит отмеченных файлов. **«Закоммитить и отправить»** — коммит и
  отправка в удалённый репозиторий.
- Внизу — строка синхронизации: «main · совпадает с origin/main» или сколько коммитов впереди и
  позади, с кнопкой отправки.

Если коммит или отправка не прошли, причина написана под кнопками словами: нет удалённой ветки,
отказ сервера, конфликт. «Сочинить сообщение» работает в сессии, где уже есть разговор: до первого
сообщения окно так и скажет.

## Ветки

Список веток проекта: текущая помечена, на любую другую можно **переключиться**; внизу — «Новая
ветка от текущего состояния» и **«Создать и перейти»**. Если в рабочей копии есть незакоммиченные
изменения, вкладка предупреждает: при переходе они останутся в рабочей копии, а если мешают —
git откажет, и их нужно сначала закоммитить.

_Иллюстрация: Ветки: предупреждение о незакоммиченных изменениях до переключения._

## История

Коммиты всех веток по времени — линией с точками: метки веток и тегов (`HEAD → main`,
`origin/main`), сообщение, короткий хеш, автор и дата. Длинная история подгружается кнопкой
«Показать ещё».

_Иллюстрация: История: метки веток, сообщение, хеш, автор и дата._

## В консоли

- Ветка — в строке под полем ввода.
- `/commit` — список файлов, которые войдут в коммит, и подтверждение; `/push` — отправить ветку.
- `/diff` — просмотр изменений.
