بەپێی ئەوەی کە ڕێت کەوتۆتە ئێرە، ڕەنگە بەکارهێنەرێکی بەردەوامی گیت بیت، تەنانەت لەوانەشە بووبێتە بەشێک لە ژیانت. لەم وتارەش باسی ئەو بەشەی ژیانت دەکەم و گرنگیی واژۆکردنی کۆمیتەکانتت بۆ ڕوون دەکەمەوە.
پێشەکی
ڕەنگە لات نامۆ بێت، بەڵام بەبنەڕەت بەڵگە نییە بیسەلمێنێت کە کۆمیتەکانت خۆت کردووتن و هەموو کەسێک دەتوانێت لەژێر ناوی یەکێکی دیکە کۆمیت بکات و بەرزی بکاتەوە.
ئەم ڕەفتارە لە ڕاستییشدا شتێکی نامۆ نییە و ویستراوە و ناشتوانرێت ڕێی لێ بگیرێت. دەشتوانیت تاقیی بکەیتەوە بە فەرمانێکی هاوشێوەی ئەمە.
$ git -c "user.name=Someone" -c "user.email=someone@example.com" commit --allow-empty -m "Some message"
نەک تەنیا ناوی ئەو کەسەی کە کۆمیتەکەی کردووە، تەنانانەت دەشتوانیت کات و ڕێکەوتی کۆمیتەکانیش بگۆڕیت.
$ git -c "user.name=Someone" -c "user.email=someone@example.com" commit --date="3 days ago" --allow-empty -m "Some message"
ئەم تایبەتمەندییانە دەکرێت لەلایەن کەسانی دیکەوە لەدژمان بەکار بهێنرێن.
واژۆکردنی کۆمیتەکانیشت هەنگاوێکی گرنگە بۆ پاراستنی خۆت لەو ڕووداوە نەخوازراوانەی کە لەوانەیە بەهۆی ئەم تایبەتمەندییانەوە ڕوو بدەن. بەردەوام بە لەگەڵم بۆی بۆت ڕوون بکەمەوە چۆن دەتوانیت لەڕێی کلیلێکی GPG کۆمیتەکانی خۆت واژۆ بکەیت بۆی لەگەڵ کۆمیتە ساختەکانی ژێر ناوت جیا بکرێنەوە.
واژۆکردنی کۆمیتەکانت
1. ئامادەکاری بکە
یەکەم جار دڵنیا بە کە ئامڕازی gpg
ـت دامەزراندووە. ئەوە بزانە کە لەوانەیە تەنیا بۆ ویندۆز دامەزراندن پێویست بێت لەبەرەوەی بەبنەڕەت لەسەر ماک ئۆ ئێس و زۆربەی دابەشراوەکانی لینوکس بەردەستە.
2. کلیلی واژۆکردن دروست بکە
$ gpg --full-generate-key --allow-freeform-uid
ئەو فەرمانەی سەرەوە کۆمەڵێک پرسیارت لێ دەکات و لە کۆتاییدا کلیلێکت بۆ دروست دەکات. لێرە دەبێت --full-generate-key
بەکار بهێنیت لەجێی --generate-key
بۆ ئەوەی ئەو کلیکەی دروستی دەکەیت بتوانرێت بۆ هەموو کردارەکان بەکار بهێنرێت. لەڕێی --allow-freeform-uid
ـیشەوە دەتوانیت یاساکانی ناونان پشتگوێ بخەیت. (بۆ نموونە، ڕێ بە خۆت بدەیت تەنیا دوو پیت بنووسیت.)
لە کاتی وەڵامدانەوەی پرسیارەکان
- * دەتوانیت بەدڵی خۆت جۆری کلیلەکە هەڵبژێریت.
- * درێژیی 4096 هەڵبژێرە.
- * ئەو پۆستە ئەلیکترۆنییە بنووسە کە لەسەر هەژمارەکەتە لە ڕاژەی گیتەکەت (بۆ نموونە، پۆستێکی ئەلیکترۆنی کە لەسەر هەژماری گیتهەبەکەتە).
- * ئەو تێپەڕوشەیەی کە بۆی دادەنێیت لەبیری مەکە.
دوای وەڵامدانەوەی پرسیارەکان، داوات لێ دەکرێت زانیارییەکانت پشتڕاست بکەیتەوە و ئەگەر دروستکردنی کلیلەکە سەرکەوتوو بوو، ئەنجامێک دەبینیت وەک ئەمەی خوارەوە.
pub xxxxxxx YYYY-MM-DD [XX]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
uid You <you@example.com>
sub xxxxxxx YYYY-MM-DD [X]
ئەو نووسینەی کە لای تۆ دەچێتە شوێنی XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ناسنامەی کلیلەکەتە. هەڵی بگرە بۆ هەنگاوی کۆتایی.
3. بە گیت بڵێ کۆمیتەکانت واژۆ بکات
$ git config --global commit.gpgsign true
ئەو فەرمانەی سەرەوە وا لە گیت دەکات هەموو کۆمیتەکانت کە لە هەرشوێنێکەوە دەکرێن لەڕێی GPGـەوە واژۆ بکات. هەڵبژاردنی کلیلەکە خۆکارانە دەبێت، واتە ئەو کلیلە بەکار دەهێنێت کە ئەو پۆستە ئەلیکترۆنییەی لەسەرە کە لەسەر گیتیشە.
تەواو! لێرە بەدواوە دەتوانرێت ئەو کۆمیتانەی کە خۆت دەیانکەیت جیا بکرێنەوە لەو کۆمیتە ساختانەی لەژێر ناوت دەکرێن. تەنیا ئەوە ماوە کە کلیلەکەت بە ڕاژەی گیتەکەت و لەڕێیەوە بە کەسانی دیکە بناسێنیت.
4. ناساندنی کلیلەکەت بە ڕاژەی گیتەکەت (گیتهەب وەک نموونە)
$ gpg --export --armor XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ئەو فەرمانەی سەرەوە کلیلە تایبەتەکەت لە شێوەی Base 64 پێ دەدات دوای ئەوەی تێپەڕوشەکەی پێ دەدەیت. ئاگات لێی بێت و مەهێڵە بچێتە دەستی کەسانی دیکە.
ڕێکخستنەکانی گیتهەب بکەوە، بڕۆ بەشی SSH and GPG keys و لەوێ ئەنجامی ئەو فەرمانەی سەرەوە دابنێ. دوای کردنی ئەمە، لە گیتهەب لەتەنیشت کۆمیتە واژۆکراوەکانت ئاماژە بەوە دەکرێت کە لەلایەن خۆتەوە کراون. دەشتوانیت هەر لەو بەشەی ڕێکخستنەکان ڕێکخستنی Flag unsigned commits as unverified چالاک بکەیت بۆی لەژێر کۆمیتە واژۆنەکراوەکان ئاماژە بەوە بکرێت کە لەوانەیە لەلایەن خۆتەوە نەکرابن و ساختە بن.
سەرەنجام
واژۆکردنی کۆمیتەکانت ڕاستەوخۆ چینێکی ئەستووری پارێزراویت بۆ دابین دەکات و لەو ڕووداوی نەخوازراوانەش دوورت دەخاتەوە کە لەوانەیە لە شوێنی کارەکەت یان هەر شوێنێکی گرنگی دیکە ڕوو بدەن. ئەگەر تا ئێستا کۆمیتەکانت واژۆ نەکردووە، پێویستە لە نزیکترین کاتدا دەست پێ بکەیت.
بۆچوونەکان