Commit berichten in Git worden vaak verwaarloosd. Velen zien ze slechts als een noodzakelijk kwaad om wijzigingen op te slaan. Betekenisvolle commit berichten zijn een beslissende factor voor het succes van een project: ze zorgen voor een goede traceerbaarheid van wijzigingen, efficiënte teamsamenwerking en sneller troubleshooten. Geen reden om de commit berichten automatisch te laten voorbereiden met behulp van AI.
Met de hulp van zogenaamde. Haken is het mogelijk om scripts uit te voeren, bijvoorbeeld voor geautomatiseerd testen of codecontrole voor bepaalde gebeurtenissen tijdens de Git workflow. De client-side voorbereiden-commit-msg-Haak is onmiddellijk voor Het volgende bash-script moet bijvoorbeeld worden uitgevoerd in de map ~/git-template/hooks/prepare-commit-msg
worden ingediend:
0d311d3e3743f65bd1f7fa370c3b3848
Tot slot voeg je je OpenAI API-sleutel in regel 4 en wijzigt desgewenst het ChatGPT-model dat in regel 5 wordt gebruikt (in ons voorbeeld gpt-4o
Vervolgens maken we het script uitvoerbaar met chmod +x ~/git-template/hooks/prepare-commit-msg
en ingesteld met git config --global core.hooksPath ~/git-template/hooks
de standaardmap voor Git hooks in de globale Git configuratie.
Het script genereert voor de diff van alle bestanden met tags maakt automatisch een geschikt sjabloon voor het vastlegbericht: git add -A . && git commit
. Als alternatief kun je ook een leeg bericht (".") sturen, dat dan automatisch wordt overschreven: git add -A . && git commit -m "." && git push
– maar wees voorzichtig: validatie van het bericht is hier niet langer mogelijk.
De AI modellen zijn nu zo geavanceerd dat er hele redelijke automatische commit berichten worden gemaakt op basis van de veranderingen. Door de prompt aan te passen (vanaf regel 13) kun je het rendement verder optimaliseren. Overigens werkt het script ook in Git UI tools zoals Toren en SmartGit. Als je het gedrag weer wilt deactiveren, druk je gewoon op git config --global --unset core.hooksPath
.