Messaggi di commit Git con ChatGPT

I messaggi di commit in Git sono spesso trascurati. Molti li considerano solo un male necessario per salvare le modifiche. I messaggi di commit significativi sono un fattore decisivo per il successo di un progetto: assicurano una buona tracciabilità delle modifiche, una collaborazione efficiente tra i team e una risoluzione più rapida dei problemi. Non c'è motivo di avere i messaggi di commit preparati automaticamente con l'aiuto dell'AI.


Con l'aiuto dei cosiddetti. Ganci è possibile eseguire script, ad esempio per il test automatico o il controllo del codice per determinati eventi durante il flusso di lavoro di Git. Il lato client prepare-commit-msg-L'aggancio è immediato prima Il seguente script bash, ad esempio, deve essere eseguito nella cartella ~/git-template/hooks/prepare-commit-msg essere archiviati:

0d311d3e3743f65bd1f7fa370c3b3848

Quindi aggiungere il Chiave API OpenAI in linea \(4\) e modifica il modello ChatGPT utilizzato in linea \(5\) (nel nostro esempio gpt-4oPoi rendiamo lo script eseguibile con chmod +x ~/git-template/hooks/prepare-commit-msg e impostare con git config --global core.hooksPath ~/git-template/hooks la cartella predefinita per gli hook di Git nella configurazione globale di Git.

Importante: questo significa che non è più necessario creare hook Git locali in .git/hooks, ma in ~/git-template/hooks Se vuoi continuare ad avere hook specifici del progetto, puoi git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg nel rispettivo progetto. Se si desidera disattivare nuovamente lo script, è sufficiente git config --global --unset core.hooksPath.

Lo script genera per il file diff di tutti i file taggati crea automaticamente un modello adatto per il messaggio di commit: git add -A . && git commit. In alternativa, si può anche inviare un messaggio vuoto ("."), che viene sovrascritto automaticamente: git add -A . && git commit -m "." && git push – ma attenzione: la convalida del messaggio non è più possibile in questo caso.

I modelli di intelligenza artificiale sono ora così avanzati da poter generare messaggi di commit automatici e molto sensati in base alle modifiche apportate. Modificando il prompt (a partire dalla riga \(13\) è possibile ottimizzare ulteriormente il risultato e adattarlo alle proprie esigenze. Tra l'altro, lo script funziona anche con strumenti Git UI come Tower e SmartGit .

Indietro