Les messages de commit dans Git sont souvent négligés. Beaucoup les considèrent comme un simple mal nécessaire pour enregistrer les modifications. Pourtant, des messages de commit pertinents sont essentiels à la réussite d'un projet : ils garantissent une bonne traçabilité des modifications, une collaboration efficace au sein de l'équipe et une correction plus rapide des bugs. Autant de raisons d'automatiser leur génération grâce à l'IA.
A l'aide de ce que l'on appelle des Crochets Est-il possible d'utiliser des scripts, par exemple tests automatisés ou pour exécuter une révision de code sur des événements spécifiques pendant le workflow Git. Le côté client prepare-commit-msg-Le crochet est immédiatement avant Le script bash suivant doit par exemple être placé dans le dossier ~/git-template/hooks/prepare-commit-msg être déposés:
0d311d3e3743f65bd1f7fa370c3b3848
Ajoutez ensuite le Clé API OpenAI en ligne \(4\) et, si nécessaire, modifier le modèle ChatGPT utilisé en ligne \(5\) (dans notre exemple gpt-4o). Ensuite, nous rendons le script exécutable chmod +x ~/git-template/hooks/prepare-commit-msg et nous avons utilisé git config --global core.hooksPath ~/git-template/hooks le répertoire par défaut des crochets Git dans la configuration globale de Git.
Important : cela signifie que vous n’avez plus besoin de créer des hooks Git locaux dans .git/hooks, mais dans ~/git-template/hooks Si vous souhaitez continuer à avoir des hooks spécifiques au projet, vous pouvez git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg dans le projet concerné. Pour désactiver à nouveau le script, il vous suffit git config --global --unset core.hooksPath.
Le script génère pour le diff de tous les fichiers tagués, un modèle approprié pour le message de commit: git add -A . && git commit. Il est également possible d'envoyer un message vide ("."), qui sera ensuite automatiquement écrasé.: git add -A . && git commit -m "." && git push – mais attention : ici, il n'est plus possible de valider le message.
Les modèles d'IA sont désormais si avancés qu'ils peuvent générer des messages de validation automatiques très pertinents en fonction des modifications apportées. En ajustant l'invite (à partir de la ligne \(13\) vous pouvez optimiser le retour et l'adapter à vos besoins. Par ailleurs, le script fonctionne également avec les outils d'interface utilisateur Git tels que Tower et SmartGit .