پیامهای کامیت در گیت اغلب نادیده گرفته میشوند. بسیاری آنها را صرفاً به عنوان یک عامل ضروری برای ذخیره تغییرات میبینند. با این حال، پیامهای کامیت معنادار یک عامل حیاتی برای موفقیت یک پروژه هستند: آنها قابلیت ردیابی خوب تغییرات، همکاری تیمی کارآمد و رفع سریعتر اشکالات را تضمین میکنند. دلیل کافی برای تهیه خودکار پیامهای کامیت با استفاده از هوش مصنوعی وجود دارد.
با کمک به اصطلاح قلاب آیا می توان از اسکریپت ها به عنوان مثال استفاده کرد تست خودکار یا برای اجرای بازبینی کد روی رویدادهای خاص در جریان کار Git. سمت مشتری آماده-تعهد-پیام-هوک فوری می شود قبل از پس از باز کردن ویرایشگر commit اجرا می شود. به عنوان مثال، اسکریپت bash زیر باید در پوشه باشد ~/git-template/hooks/prepare-commit-msg بایگانی شود:
0d311d3e3743f65bd1f7fa370c3b3848
سپس اضافه کنید کلید OpenAI API در صف \(4\) و در صورت لزوم، مدل ChatGPT مورد استفاده در خط را اصلاح کنید \(5\) (در مثال ما gpt-4o). سپس اسکریپت را قابل اجرا می کنیم chmod +x ~/git-template/hooks/prepare-commit-msg و شرط بندی کنید git config --global core.hooksPath ~/git-template/hooks دایرکتوری پیش فرض برای قلاب های Git در پیکربندی جهانی Git.
مهم: این یعنی دیگر لازم نیست هوکهای گیت محلی ایجاد کنید .git/hooks, اما در ~/git-template/hooks اگر میخواهید همچنان قلابهای مخصوص پروژه داشته باشید، میتوانید git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg در پروژه مربوطه. اگر میخواهید اسکریپت را دوباره غیرفعال کنید، کافیست git config --global --unset core.hooksPath.
اسکریپت برای تفاوت تمام فایل های مرحله بندی شده به طور خودکار یک الگوی مناسب برای پیام commit دریافت می کنند: git add -A . && git commit. همچنین میتوانید یک پیام خالی (".") بفرستید که به طور خودکار بازنویسی میشود: git add -A . && git commit -m "." && git push – اما مراقب باشید: اعتبار پیام دیگر در اینجا امکان پذیر نیست.
مدلهای هوش مصنوعی اکنون آنقدر پیشرفته هستند که میتوانند پیامهای کامیت خودکار و بسیار معقولی را بر اساس تغییرات ایجاد شده تولید کنند. با تنظیم اعلان (از خط \(13\) میتوانید نتیجه را بیشتر بهینه کرده و آن را با نیازهای خود تطبیق دهید. ضمناً، این اسکریپت در ابزارهای رابط کاربری گیت مانند Tower و SmartGit نیز کار میکند.