Les messages de commit dans Git sont souvent négligés. Beaucoup les considèrent uniquement comme un mal nécessaire pour enregistrer les modifications. Pourtant, des messages de commit pertinents sont un facteur décisif pour le succès d'un projet : ils assurent une bonne traçabilité des modifications, une collaboration efficace au sein de l'équipe et une recherche d'erreurs plus rapide. Aucune raison de faire préparer automatiquement les messages de commit à l'aide de l'IA.
A l'aide de ce que l'on appelle des Crochets il est possible d'exécuter des scripts, par exemple pour le testing automatisé ou pour la vérification du code à des événements spécifiques pendant le workflow Git. Le client 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 modifie le modèle ChatGPT utilisé en ligne \(5\) (dans notre exemple gpt-4o), puis nous rendons le script exécutable avec 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 .