نوشتن یک کامیت (commit) هنگام استفاده از git میتونه کمک شایانی هنگام ایجاد revision history بکنه. اما قبل از این مورد باید کل اعضای تیم روی یک الگو به توافق برسند و طبق همون الگو جلو برند، همین مورد میتونه تو پروژه های شخصی هم قرارداد بشه.
تو این مطلب باهم بررسی میکنیم که چطور بتونیم یک کامیت بهتر بزنیم و اصلا دلیل خوب کامیت زدن چی هست
کامیت یک command هست برای ذخیره تغییرات تو local repository بعد از اینکه تو stag قرار میگیره. ما برای تغییراتی که انجام میدم کامیت میزنیم تا بدونیم که روال تغییرات به چه صورتی بوده و چه تغییراتی داشتیم. برای کامیت زدن option های متفاوتی داریم:
git add static/admin/config.yml git commit -m "Setup multiple roles for netlify-cms git gateway"
تو این روش همه تغییرات شامل فایل های tracked، modified و حذف شده کامیت میشن
git commit -a -m "Add a new role for netlify-cms git gateway"
این option آخرین کامیت رو با همه تغییرات حال حاضر stag بازنویسی میکنه یا یک message کامیت جدید میزنه روی کامیتی که به remote repository ارسال نشده
git add . git commit --amend -m "Update roles for netlify-cms git gateway"
توی الگوی Semantic به طور کلی یک commit مشابه زیر هست:
<type>(<scope>): <subject>
مقدار type باید برابر با یکی از آیتم های زیر باشه:
build
: ایجاد تغییرات مرتبط (برای مثال: اضافه کردن dependencies های خارجی مثلا با npm)chore
: اضافه کردن تغییراتی که برای همه مشخص نیست (برای مثال: تغییر دادن تو فایل .gitignore)feat
: اضافه کردن ویژگی جدیدfix
: رفع یک باگdocs
: تغییرات مربوط به مستنداتrefactor
: تغییری که نه یک ویژگی اضافه میکنه نه مشکلی رو حل میکنه. (برای مثال تغییرات در نام گذاری متغییرات)perf
: تغییراتی که باعث بهبود کارایی میشهstyle
:تغییراتی که مرتبط با تغییرات ظاهری هست test
:اضافه کردن تست جدید یا تغییر در تست های قبلیمثال های از توضیحات بالا:
git feat "commit message here" -> git commit -m 'feat: commit message here' git docs "commit message here" -> git commit -m 'docs: commit message here' git chore "commit message here" -> git commit -m 'chore: commit message here' git fix "commit message here" -> git commit -m 'fix: commit message here' git refactor "commit message here" -> git commit -m 'refactor: commit message here' git style "commit message here" -> git commit -m 'style: commit message here' git test "commit message here" -> git commit -m 'test: commit message here'
نکته: شما میتونید با لینکی که تو قسمت آخر مطلب گذاشتم از کامیت های Semantic استفاده کنین و یا مثه سابق معادلشون که رو به روشون تو مثال بالا هست استفاده کنید.
اسکوپ (Scope) باید یک نام باشه که اشاره به قسمتی از کد میکنه
یک نمونه message کامیت رو تو پایین باهم ببینیم:
feat: add hat wobble ^--^ ^------------^ | | | +-> Summary in present tense. | +-------> Type: chore, docs, feat, fix, refactor, style, or test.
اگه میخوای مثال بهتری تو دنیای واقعی ببینین به این لینک سر بزنین.
از اینکه تا انتهای مطلب با من همراه بودین ممنونم، خوشحال میشم اگه نظری دارین راجب این مقاله با من در میان بذارین ☺️
منابعی که در این مقاله ازشون استفاده شده:
برخی از مقالات من در ویرگول: