Git melakukan pesan dengan ChatGPT

Pesan komit di Git sering kali diabaikan. Banyak yang melihatnya hanya sebagai kejahatan yang diperlukan untuk menyelamatkan perubahan. Pesan komitmen yang bermakna merupakan faktor penting bagi keberhasilan sebuah proyek: Pesan tersebut memastikan ketertelusuran perubahan yang baik, kolaborasi yang efisien dalam tim, dan pemecahan masalah yang lebih cepat. Tidak ada alasan untuk menyiapkan pesan penerapan secara otomatis dengan bantuan AI.


Dengan bantuan yang disebut Kait Dimungkinkan untuk mengeksekusi skrip, misalnya untuk pengujian otomatis atau pemeriksaan kode, untuk kejadian tertentu selama alur kerja Git. Sisi klien persiapkan-komit-pesan-Hook menjadi segera sebelum dieksekusi setelah membuka editor komit. Misalnya skrip bash berikut harus ada di folder tersebut ~/git-template/hooks/prepare-commit-msg diajukan:

0d311d3e3743f65bd1f7fa370c3b3848

Terakhir, Anda menambahkan milik Anda Kunci API OpenAI di baris 4 dan, jika diinginkan, ubah model ChatGPT yang digunakan di baris 5 (dalam contoh kita gpt-4o). Kami kemudian membuat skrip dapat dieksekusi chmod +x ~/git-template/hooks/prepare-commit-msg dan bertaruh dengan git config --global core.hooksPath ~/git-template/hooks direktori default untuk kait Git dalam konfigurasi Git global.

Script menghasilkan untuk berbeda Semua file yang dipentaskan secara otomatis menerima templat yang sesuai untuk pesan komit: git add -A . && git commit. Alternatifnya, Anda juga dapat mengirim pesan kosong (“.”), yang kemudian akan ditimpa secara otomatis: git add -A . && git commit -m "." && git push – Namun hati-hati: Validasi pesan tidak lagi dapat dilakukan di sini.

Model AI sekarang sangat canggih sehingga pesan penerapan otomatis yang masuk akal dibuat berdasarkan perubahan tersebut. Dengan menyesuaikan prompt (dari baris 13) Anda dapat lebih mengoptimalkan pengembaliannya. Omong-omong, skrip juga berfungsi di alat Git UI seperti Menara dan SmartGit. Jika Anda ingin menonaktifkan perilaku tersebut lagi, cukup tekan git config --global --unset core.hooksPath.

Kembali