Git commit شفاف و مختصر: کلید یک تاریخچه ی روشن

Git commit
تصویر یاسر دهقان

یاسر دهقان

Git به عنوان ابزاری قدرتمند در دنیای برنامه‌نویسی، نقشی حیاتی در ذخیره‌سازی نسخه‌های مختلف پروژه و تسهیل توسعه گروهی ایفا می‌کند. دستور commit کلید اصلی ثبت این تغییرات و گام برداشتن در مسیر پیشرفت پروژه است.

اما برای بهره‌برداری کامل از Git، فراتر از صرف آشنایی با دستورات آن، باید به ظرافت‌های نگارش پیام‌های commit نیز توجه کرد. پیام‌های commit  به مثابه تاریخچه‌ای گویا از تحولات پروژه عمل می‌کنند و وضوح و ساختار مناسب آنها، کلید درک صحیح این تحولات توسط شما و سایر اعضای تیم خواهد بود.

Git سیستم کنترل نسخه معروف

 commit message: چرا مهم است و چگونه آن را به درستی بنویسید؟

Commit ها و پیام‌هایشان، ستون‌های تاریخچه هر پروژه هستند و داستان‌گوی تحولات و پیشرفت‌های آن در گذر زمان به حساب می‌آیند. هر با که ما به این پیام نگاه می کنیم، باید بتوانیم درک دقیقی از تغییرات پروژه در طی زمان برسیم.

اما تصور کنید اگر این پیام‌ها، مبهم و ناخوانا باشند. باعث می شود که در تاریکی سرگردان می‌شویم و درک درستی از مسیر طی شده و تحولات انجام گرفته، برایمان میسر نخواهد شد.

شاید در زمان نوشتن پیام commit، وضوح پیام برایتان کافی به نظر برسد. اما به یاد داشته باشید که این پیام‌ها نه تنها برای شما، بلکه برای سایر اعضای تیم و حتی خودتان در آینده باید همچنان خوانا باشد.

نوشتن پیام‌های commit مبهم، اتلاف زمانی را به دنبال خواهد داشت که می‌توان صرف انجام کارهای ارزشمندتر کرد. تصور کنید مجبور باشید ساعت‌ها وقت صرف رمزگشایی پیامی کنید که فقط چند دقیقه زمان برای نگارش واضح و دقیق آن کافی بود.

چند نکته برای نوشتن commit message  های واضح تر

از عبارت دستوری استفاده کنید مانند Add , Update استفاده کنید.

بهتر در اول پیام از عبارتی که نوع کامیت را مشخص می کنند استفاده کنید مانند:

  • feat (خاصیت جدید): معرفی یک قابلیت جدید با تغییرات انجام شده
  • fix (رفع اشکال): رفع یک باگ در کد
  • chore (نگهداری): تغییراتی که به رفع باگ یا اضافه کردن قابلیت جدید مرتبط نیستند و همچنین فایل‌های src یا test را تغییر نمی‌دهند (برای مثال به‌روزرسانی وابستگی‌ها)
  • refactor (بازنویسی): بازنویسی کد بدون اینکه باگ رفع شود یا قابلیت جدیدی اضافه گردد
  • docs (مستندات): به‌روزرسانی مستندات مانند پرونده README
  • style (سبک): تغییراتی که بر معنای کد تأثیری نمی‌گذارند و احتمالا مربوط به قالب‌بندی کد مانند فاصله خالی، سمی‌کالن‌های جا افتاده و غیره هستند
  • test (تست): افزودن تست‌های جدید یا اصلاح تست‌های قبلی
  • revert (بازگردانی): لغو کردن یک کامیت قبلی

پیام کامیت های شما نباید پیش از حد کوتاه و نباید پیش از حد بلند باشند. به طور معمول یک پیام commit باید حداکثر 50 کارکتر را شامل شود. اگر نیاز به توضیحات بیشتر دارید می توانید از بخش توضیحات commit استفاده بکنید. در این بخش شما تا 72 کارکتر می توانید بنویسید و معمولا برای توضیحات بیشتر استفاده می شود.

هنگام نوشتن پیام commit می توانید خودتان را جای برنامه نویسان دیگر و افراد دیگر بگذارید و از دید آنها نگاه کنید. آنها با نگاه کردن به این پیام commit چه چیزی را می خواهند بفهمند. پیامی را بنوسید که برای دیگران مشخص باشد چه اتفاقاتی در commit افتاده است.

یک روش برای نوشتن پیام commit این هست که از خودتان بپرسید این commit چه فایلی را تغییر می دهد و چه تغییراتی در  این فایل ها ایجاد می کند و این تغییرات چرا انجام می شوند. با جواب دادند به این پرسش ها می توانید یک پیام commit خوب بنویسید.

نمونه commit message

خوب

  • feat: improve performance with lazy load implementation for images
  • chore: update npm dependency to latest version
  • Fix bug preventing users from submitting the subscribe form
  • Update incorrect client phone number within footer body per client request

بد

  • fixed bug on landing page
  • Changed style
  • some improvement
  • I think I fixed it this time?
  • no messages

Commit درست و اصولی: گامی مهم در جهت یک تاریخچه پروژه منظم

علاوه بر نگارش Commit Message واضح و گویا، توجه به ساختار و محتوای خود تعهدات نیز از اهمیت بالایی برخوردار است.

در اینجا به چند نکته کلیدی برای ایجاد commit های باکیفیت می‌پردازیم:

1. Commit های کوچک و متمرکز:

  • به جای انباشت تغییرات مختلف در یک Commit، سعی کنید برای هر تغییر منطقی یک Commit جداگانه ایجاد کنید.
  • این کار به شما کمک می‌کند تا تاریخچه پروژه را به طور مرتب و گام به گام مستند کنید و در صورت نیاز به بازگشت به نسخه‌های قبلی، به راحتی بتوانید تغییرات مورد نظر را شناسایی کنید.

2. مرتبط بودن فایل‌های تغییریافته:

  • در هر Commit، فقط فایل‌هایی را که به طور مستقیم تحت تأثیر تغییر قرار گرفته‌اند، شامل کنید.
  • از قرار دادن فایل‌های بی‌ربط در یک Commit خودداری کنید، زیرا این امر خوانایی و درک تاریخچه پروژه را دشوارتر می‌کند.

3. پرهیز از Commit های حجیم:

  • از ایجاد Commit ها با حجم زیاد که شامل تغییرات متعدد و نامرتبط هستند، خودداری کنید.
  • به یاد داشته باشید که Commit کوچک و متمرکز، خوانایی و مدیریت تاریخچه پروژه را آسان‌تر می‌کنند.

4. به‌روزرسانی منظم:

  • به طور مرتب و با هر بار اعمال تغییر در پروژه، Commit ایجاد کنید.
  • از انباشت تغییرات و Commit های حجیم در بازه‌های زمانی طولانی خودداری کنید.

با رعایت این نکات ساده، می‌توانید Commit های باکیفیت ایجاد کنید که به شما و سایر اعضای تیم در درک بهتر تاریخچه پروژه، مدیریت کارآمدتر تغییرات و حفظ یکپارچگی کد در گذر زمان کمک می‌کند.

ارسال دیدگاه