Как проверять изменения ИИ в Git и делать частичные коммиты в ANVIL
Содержание
Попросили ИИ поправить кнопку. Он поправил кнопку, переименовал соседнюю функцию, причёсывал форматирование и зачем-то потревожил ещё четыре файла.
В ответе, разумеется, всё уверенно: «Готово». Железяка довольна. А коммитить это вам.
Поэтому после агента полезно открыть Git и посмотреть, что он сделал руками. В ANVIL для этого есть встроенная панель: можно разобрать разницу и подготовить к коммиту отдельные фрагменты изменений.
Что такое частичный коммит по-человечески
У Git есть рабочая папка и индекс — набор подготовленных изменений. Коммит фиксирует индекс. Всё, что вы сегодня успели потревожить на диске, туда автоматически включать необязательно.
Допустим, вы исправили ошибку и отдельно поменяли текст в интерфейсе. Если изменения независимы и показаны разными фрагментами, можно сначала сохранить исправление, а текст оставить на следующий коммит.
Такой фрагмент разницы называется hunk. В нём есть изменённые строки и немного контекста. Подробности работы индекса есть в официальной справке Git.
Сначала смотрим список файлов
В ANVIL откройте Git-панель: Ctrl+Shift+G. До того как нажимать Commit, пройдитесь по изменённым файлам.
Проверьте три вещи:
- все ли правки относятся к задаче;
- нужны ли новые файлы;
- не попали ли туда пароли, ключи, личные настройки или отладочный мусор.
Если агент полез куда не просили, сначала выясните зачем. Фраза «улучшил архитектуру» звучит солидно, но сама по себе ещё не объясняет, почему у вас изменилась половина проекта.
Как выбрать отдельные изменения
Откройте файл в Git-панели, просмотрите diff и подготовьте нужные hunks. Затем отдельно посмотрите подготовленную разницу. Именно её вы собираетесь сохранить в истории.
Здесь важна связность. Если новая функция требует обработчика, типов и теста, эти части должны попасть вместе. Коммит, который красив только в списке файлов, а отдельно не работает, — сомнительное достижение.
И не путайте hunk с произвольной строкой. Разные задачи могут оказаться внутри одного фрагмента. Если их нельзя нормально выбрать отдельно, сначала разделите сами изменения.
Что проверить перед коммитом
В соседней панели терминала запустите подходящие проверки: сборку, тесты или другой принятый в проекте способ убедиться в результате. После этого ещё раз посмотрите список файлов — некоторые команды оставляют за собой новые артефакты.
Есть тонкий момент: обычные тесты работают с рабочей папкой. Если часть нужного кода осталась вне индекса, зелёный тест всей папки ещё не подтверждает работоспособность будущего частичного коммита.
Так что начинать проще с небольшого законченного изменения. Целиком подготовили, проверили, сохранили. Акробатика с кусочками нужна там, где вы понимаете, что именно разделяете.
Можно ли поручить ИИ текст коммита
Можно. ANVIL поддерживает генерацию сообщения через подключённые ИИ-инструменты. Текст остаётся редактируемым — перечитайте его и уберите выдуманные подвиги, если они появились.
Перед генерацией проверьте индекс: подготовленный diff отправляется выбранному ИИ-провайдеру. Пароль, случайно попавший в правку, от соседства с хорошим кодом секретом быть не перестаёт.
Подключение зависит от backend: может потребоваться установленный CLI или API-ключ. Эти требования собраны в документации ANVIL.
Для сообщения хватает конкретики: «Исправить обработку пустого списка загрузок» понятнее, чем «Масштабные улучшения». Даже если масштабность очень хочется себе приписать.
После коммита тоже смотрим
Убедитесь, что в истории появился ожидаемый результат. Проверьте оставшиеся рабочие изменения: некоторые вы специально отложили, про другие могли забыть.
Локальный коммит ещё не отправлен в удалённый репозиторий. Push — отдельное действие. Эти две кнопки лучше различать до того, как результат увидит кто-то ещё.
Скачать ANVIL. Если ещё не настроили рабочее пространство, вот инструкция по нескольким ИИ-агентам на Windows.
Возможности Git-панели: справка ANVIL 0.1.5.