Сообщения о фиксации в Git с помощью ChatGPT

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


С помощью так называемых. Крючки можно выполнять скрипты, например, для автоматизированного тестирования или проверки кода при определенных событиях в процессе работы с Git. Клиентская сторона prepare-commit-msg-Крючок немедленно до Следующий сценарий bash, например, должен быть выполнен в папке ~/git-template/hooks/prepare-commit-msg быть поданным:

0d311d3e3743f65bd1f7fa370c3b3848

Затем добавьте Ключ API OpenAI в соответствии \(4\) и изменяет модель ChatGPT, используемую в строке \(5\) (в нашем примере gpt-4oЗатем мы сделаем скрипт исполняемым с помощью chmod +x ~/git-template/hooks/prepare-commit-msg и установить с git config --global core.hooksPath ~/git-template/hooks каталог по умолчанию для крючков Git в глобальной конфигурации Git.

Важно: это означает, что вам больше не придется создавать локальные Git-хуки в .git/hooks, но в ~/git-template/hooks Если вы хотите продолжать использовать специфичные для проекта крючки, вы можете git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg в соответствующем проекте. Если вы хотите снова деактивировать скрипт, просто git config --global --unset core.hooksPath.

Сценарий генерирует для diff всех помеченных файлов автоматически создает подходящий шаблон для сообщения о фиксации: git add -A . && git commit. Кроме того, вы можете отправить пустое сообщение ("."), которое будет автоматически перезаписано: git add -A . && git commit -m "." && git push – но будьте осторожны: проверка сообщения здесь уже невозможна.

Модели ИИ теперь настолько продвинуты, что могут генерировать очень разумные, автоматические сообщения о коммите на основе внесенных изменений. Настраивая приглашение (начиная со строки \(13\) вы можете дополнительно оптимизировать возврат и адаптировать его к своим потребностям. Кстати, скрипт также работает в инструментах Git UI, таких как Tower и SmartGit .

Назад