Git-ում կատարվող հաղորդագրությունները հաճախ անտեսվում են: Շատերը դրանք համարում են պարզապես անհրաժեշտ չարիք՝ փոփոխությունները փրկելու համար: Իմաստալից պարտավորությունների հաղորդագրությունները կարևոր գործոն են նախագծի հաջողության համար. դրանք ապահովում են փոփոխությունների լավ հետագծելիություն, արդյունավետ համագործակցություն թիմի ներսում և ավելի արագ անսարքությունների վերացում: Ոչ մի պատճառ չկա, որպեսզի հաղորդագրությունները ավտոմատ կերպով պատրաստվեն AI-ի օգնությամբ:
Օգնությամբ այսպես կոչված Կեռիկներ Հնարավոր է սկրիպտներ կատարել, օրինակ՝ ավտոմատացված թեստավորման կամ կոդերի ստուգման համար, Git-ի աշխատանքային հոսքի ընթացքում հատուկ իրադարձությունների համար: Հաճախորդի կողմը պատրաստել-պարտավորել-msg-Կեռիկը դառնում է անմիջապես առաջ կատարվում է 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-ի գլոբալ կազմաձևում:
Սցենարը առաջացնում է տարբերություն Բոլոր փուլային ֆայլերը ավտոմատ կերպով ստանում են համապատասխան ձևանմուշ commit հաղորդագրության համար: git add -A . && git commit
. Որպես այլընտրանք, դուք կարող եք նաև ուղարկել դատարկ հաղորդագրություն ("."), որն այնուհետև ավտոմատ կերպով կվերագրվի: git add -A . && git commit -m "." && git push
– Բայց զգույշ եղեք. հաղորդագրության վավերացումն այստեղ այլևս հնարավոր չէ:
AI-ի մոդելներն այժմ այնքան զարգացած են, որ փոփոխությունների հիման վրա ստեղծվում են շատ ողջամիտ ավտոմատ հաղորդագրություններ: Կարգավորելով հուշումը (13-րդ տողից) դուք կարող եք հետագայում օպտիմալացնել վերադարձը: Ի դեպ, սցենարն աշխատում է նաև Git UI գործիքներում, ինչպիսիք են Աշտարակ և SmartGit. Եթե ցանկանում եք նորից անջատել վարքագիծը, պարզապես սեղմեք git config --global --unset core.hooksPath
.