Git commit berichten met ChatGPT

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

Voeg dan de OpenAI API-sleutel in de rij \(4\) en wijzigt het ChatGPT-model dat in de lijn wordt gebruikt \(5\) (in ons voorbeeld gpt-4oVervolgens 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.

Belangrijk: Dit betekent dat u geen lokale Git-hooks meer hoeft aan te maken in .git/hooks, maar in ~/git-template/hooks Als u projectspecifieke hooks wilt blijven gebruiken, kunt u: git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg in het betreffende project. Als u het script weer wilt deactiveren, hoeft u alleen maar git config --global --unset core.hooksPath.

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 inmiddels zo geavanceerd dat ze zeer logische, automatische commitberichten kunnen genereren op basis van de aangebrachte wijzigingen. Door de prompt aan te passen (beginnend bij regel \(13\) kun je de return verder optimaliseren en aanpassen aan je behoeften. Overigens werkt het script ook in Git UI-tools zoals Tower en SmartGit .

Terug