Git, ChatGPT ile mesajları işleme koyar

Git'teki taahhüt mesajları sıklıkla ihmal edilir. Birçoğu onları değişiklikleri kurtarmak için gerekli bir kötülük olarak görüyor. Anlamlı taahhüt mesajları bir projenin başarısı için çok önemli bir faktördür: Değişikliklerin iyi bir şekilde izlenebilirliğini, ekip içinde verimli işbirliğini ve daha hızlı sorun gidermeyi sağlarlar. Taahhüt mesajlarının yapay zeka yardımıyla otomatik olarak hazırlanmasına gerek yok.


Sözde yardımıyla Kancalar Git iş akışı sırasında belirli olaylar için, örneğin otomatik test veya kod kontrolü amacıyla komut dosyalarının yürütülmesi mümkündür. Müşteri tarafı hazırlama-taahhüt-mesajı-Hook anında olur önce taahhüt düzenleyicisini açtıktan sonra yürütülür. Örneğin aşağıdaki bash betiğinin klasörde olması gerekir ~/git-template/hooks/prepare-commit-msg dosyalanmak:

0d311d3e3743f65bd1f7fa370c3b3848

Son olarak, sizinkini eklersiniz OpenAI API anahtarı 4. satırda ve istenirse 5. satırda kullanılan ChatGPT modelini değiştirin (örneğimizde gpt-4o). Daha sonra betiği çalıştırılabilir hale getiriyoruz chmod +x ~/git-template/hooks/prepare-commit-msg ve onunla bahis oyna git config --global core.hooksPath ~/git-template/hooks genel Git yapılandırmasındaki Git kancaları için varsayılan dizin.

Komut dosyası şunun için üretir: fark Hazırlanan tüm dosyalar, taahhüt mesajı için otomatik olarak uygun bir şablon alır: git add -A . && git commit. Alternatif olarak boş bir mesaj da gönderebilirsiniz ("."). Bu mesaj otomatik olarak üzerine yazılacaktır.: git add -A . && git commit -m "." && git push – Ancak dikkatli olun: Mesajın doğrulanması artık burada mümkün değildir.

Yapay zeka modelleri artık o kadar gelişmiş ki, değişikliklere göre çok makul otomatik taahhüt mesajları oluşturuluyor. İstemi ayarlayarak (13. satırdan itibaren) dönüşü daha da optimize edebilirsiniz. Bu arada, komut dosyası aynı zamanda Git UI araçlarında da çalışıyor Kule ve SmartGit. Davranışı tekrar devre dışı bırakmak istiyorsanız, tuşuna basmanız yeterlidir. git config --global --unset core.hooksPath.

Geri