رعایت الگوها برای نوشتن commit  بهتر در Git

Yancy Min @unsplashنوشتن یک کامیت (commit) هنگام استفاده از git میتونه کمک شایانی هنگام ایجاد revision history بکنه. اما قبل از این مورد باید کل اعضای تیم روی یک الگو به توافق برسند و طبق همون الگو جلو برند، همین مورد میتونه تو پروژه های شخصی هم قرارداد بشه.تو این مطلب باهم بررسی میکنیم که چطور بتونیم یک کامیت بهتر بزنیم و اصلا دلیل خوب کامیت زدن چی هست1 - کامیت (commit) چی هست اصلا؟کامیت یک command هست برای ذخیره تغییرات تو local repository بعد از اینکه تو stag قرار میگیره. ما برای تغییراتی که انجام میدم کامیت میزنیم تا بدونیم که روال تغییرات به چه صورتی بوده و چه تغییراتی داشتیم. برای کامیت زدن option های متفاوتی داریم:با استفاده از -mgit add static/admin/config.yml git commit -m &quotSetup multiple roles for netlify-cms git gateway&quotبا استفاده از -a or --allتو این روش همه تغییرات شامل فایل های tracked، modified و حذف شده کامیت میشنgit commit -a -m &quotAdd a new role for netlify-cms git gateway&quotبا استفاده --amendاین option آخرین کامیت رو با همه تغییرات حال حاضر stag بازنویسی میکنه یا یک message کامیت جدید میزنه روی کامیتی که به remote repository ارسال نشدهgit add . git commit --amend -m &quotUpdate roles for netlify-cms git gateway&quotرعایت الگوی Semanticتوی الگوی Semantic به طور کلی یک commit مشابه زیر هست:<type>(<scope>): <subject>مقدار type باید برابر با یکی از آیتم های زیر باشه:build: ایجاد تغییرات مرتبط (برای مثال: اضافه کردن dependencies های خارجی مثلا با npm)chore: اضافه کردن تغییراتی که برای همه مشخص نیست (برای مثال: تغییر دادن تو فایل .gitignore)feat: اضافه کردن ویژگی جدیدfix: رفع یک باگdocs: تغییرات مربوط به مستنداتrefactor: تغییری که نه یک ویژگی اضافه میکنه نه مشکلی رو حل میکنه. (برای مثال تغییرات در نام گذاری متغییرات)perf: تغییراتی که باعث بهبود کارایی میشهstyle:تغییراتی که مرتبط با تغییرات ظاهری هست test:اضافه کردن تست جدید یا تغییر در تست های قبلیمثال های از توضیحات بالا:git feat &quotcommit message here&quot -> git commit -m 'feat: commit message here' git docs &quotcommit message here&quot -> git commit -m 'docs: commit message here' git chore &quotcommit message here&quot -> git commit -m 'chore: commit message here' git fix &quotcommit message here&quot -> git commit -m 'fix: commit message here' git refactor &quotcommit message here&quot -> git commit -m 'refactor: commit message here' git style &quotcommit message here&quot -> git commit -m 'style: commit message here' git test &quotcommit message here&quot -> git commit -m 'test: commit message here'نکته: شما میتونید با لینکی که تو قسمت آخر مطلب گذاشتم از کامیت های Semantic استفاده کنین و یا مثه سابق معادلشون که رو به روشون تو مثال بالا هست استفاده کنید.پارامتر "scope" اختیاری هستاسکوپ (Scope) باید یک نام باشه که اشاره به قسمتی از کد میکنهپارامتر "subject"استفاده الزامی از زمان حال برای مثال به جای استفاده از added یا adds از add در پیام کامیت استفاده کنیم.در آخر پیام کامیت از نقطه . استفاده نکنیم.حروف اول رو به صورت capital ننویسیم.یک نمونه message کامیت رو تو پایین باهم ببینیم:feat: add hat wobble ^--^ ^------------^ | | | +-> Summary in present tense. | +-------> Type: chore, docs, feat, fix, refactor, style, or test.اگه میخوای مثال بهتری تو دنیای واقعی ببینین به این لینک سر بزنین.از اینکه تا انتهای مطلب با من همراه بودین ممنونم، خوشحال میشم اگه نظری دارین راجب این مقاله با من در میان بذارین ☺️منابعی که در این مقاله ازشون استفاده شده:https://www.conventionalcommits.org/en/v1.0.0/https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716https://github.com/fteem/git-semantic-commitsبرخی از مقالات من در ویرگول: https://virgool.io/@aliraam/escaped-css-selectors-bawjrbbpm5dy https://virgool.io/@aliraam/callback-function-in-js-mey4dk3ai8l2