بستن شکاف دانش: بهترین روش ها برای نوشتن پیام های Git Commit

زمانی که من git را یاد میگرفتم، هرگز تاکید زیادی روی پیامرسانی commit وجود نداشت.
وقتی زمان فشار دادن به GitHub بود همیشه چیزی شبیه به این بود:
git add .
git commit -m “fixed nav bar”
git push
این خوب بود، برای مبتدی که به تنهایی کار می کرد و هرگز به تعهدات قبلی برنمی گشت.
اما درست مانند نوشتن کد تمیز، شما میخواهید پیامهای commit تمیز بنویسید، میخواهید پیامهای قدیمی خود را به وضوح و به راحتی بخوانید و شخص دیگری که روی همان پروژه کار میکند باید بتواند commitهای شما را بخواند و بداند چه چیزی و چرا تغییر کرده است. .
به عقب برگردید و به تاریخچه ارتکاب Git خود نگاه کنید و ببینید آیا برای درک اینکه چه تغییراتی ایجاد شده اند و چرا ایجاد شده اند مشکل دارید؟ پیامهای commit ضعیف یا متناقض میتواند درک تاریخچه یک پایگاه کد، ردیابی اشکالها یا همکاری مؤثر با توسعهدهندگان دیگر را دشوار کند.
یکی از راههای پرداختن به این موضوع، استفاده از قراردادهای پیام ارتکاب پیوسته و توصیفی است. با پیروی از مجموعه ای از قراردادهای توافق شده، توسعه دهندگان می توانند مسیریابی تاریخچه commit، درک هدف هر تغییر و پیگیری مسائل یا اشکالات مربوط به commit های خاص را آسان تر کنند.
بیایید اهمیت کنوانسیون های پیام ارتکاب خوب را بررسی کنیم، در مورد برخی از کنوانسیون های رایج و بهترین شیوه ها بحث کنیم، و نمونه هایی از پیام های تعهد موثر ارائه دهیم.
رایج ترین بهترین شیوه ها:
- از کلمات کلیدی در خط موضوع پیام commit، “اصلاح”، “افزودن”، “به روز رسانی” و غیره استفاده کنید تا هدف از commit را به وضوح بیان کنید.
- خط موضوع را 50 کاراکتر یا کمتر نگه دارید تا خلاصه ای واضح و مختصر از تغییر ارائه شود.
- توضیحات مفصل تری را در متن پیام commit اضافه کنید و توضیح دهید که این تغییر چه می کند و چرا لازم بود.
- از بدنه برای توصیف هر گونه عوارض جانبی، مشکلات یا وابستگیهای تغییر استفاده کنید تا به سایر توسعهدهندگان کمک کنید تا بفهمند این تغییر چگونه در پایگاه کد بزرگتر قرار میگیرد.
- اگر commit مربوط به یک مشکل یا اشکال است، به شماره مشکل یا باگ در پیام commit، “Closes #1234” اشاره کنید.
- از قراردادهای ثابت برای قالببندی و سبک، مانند حروف بزرگ، نقطهگذاری، و شکست خط استفاده کنید تا خواندن و درک تاریخچه تعهد آسانتر شود.
- تغییرات بزرگ را به تعهدات اتمی کوچکتر تقسیم کنید که می توانند به راحتی توسط توسعه دهندگان دیگر بررسی و درک شوند.
- استفاده کنید
-amend
گزینه ای برای به روز رسانی یک پیام commit که هنوز به مخزن راه دور منتقل نشده است، به جای ایجاد یک commit جدید با یک پیام به روز شده.
کلمات کلیدی در خط موضوع:
با پیامهای git commit میتوانید از کلمات کلیدی استفاده کنید که میتوانند به دستهبندی و سازماندهی commitها کمک کنند.
با استفاده از این کلمات کلیدی در پیامهای Git commit، شناسایی هدف هر commit آسانتر میشود و به سازماندهی تاریخچه commit و هدایت آسانتر کمک میکند. همچنین، GitHub میتواند از این کلمات کلیدی برای تولید خودکار اطلاعات مفید مانند یادداشتهای انتشار یا گزارشهای تغییر استفاده کند.
کلمات کلیدی متداول پیام Git:
-
feat
: یک ویژگی یا عملکرد جدید به پایگاه کد اضافه شده است. -
fix
: یک اشکال یا مشکل برطرف شده است. -
refactor
: کد برای بهبود عملکرد، خوانایی یا قابلیت نگهداری مجدداً اصلاح شده است. -
docs
: تغییراتی در اسناد ایجاد شده است، مانند به روز رسانی فایل های README یا نظرات درون خطی. -
test
: تغییراتی در مجموعه آزمایشی ایجاد شده است، مانند افزودن یا بهروزرسانی تستها. -
style
: تغییراتی در سبک یا قالب کد ایجاد شده است، مانند افزودن یا حذف فضای خالی یا تغییر نام متغیرها. -
chore
: تغییرات متفرقه ای که در دسته بندی های بالا قرار نمی گیرند، مانند به روز رسانی اسکریپت های ساخت یا وابستگی ها.
با استفاده از این کلمات کلیدی در پیامهای Git commit، شناسایی هدف هر commit آسانتر میشود و به سازماندهی تاریخچه commit و هدایت آسانتر کمک میکند. علاوه بر این، برخی از پلتفرمهای میزبانی Git، مانند GitHub، میتوانند از این کلمات کلیدی برای تولید خودکار اطلاعات مفید مانند یادداشتهای انتشار یا گزارشهای تغییر استفاده کنند.
کنار: یادداشتها را منتشر کنید و گزارشها را تغییر دهید؟
یادداشت های انتشار و گزارش تغییرات اسنادی هستند که خلاصه ای از تغییرات ایجاد شده در یک محصول نرم افزاری را ارائه می دهند.
یادداشت انتشار معمولاً خلاصهای از تغییرات در نسخه یا نسخه خاصی از نرمافزار است. ممکن است شامل لیستی از ویژگی های جدید، رفع اشکال، بهبودها یا مشکلات شناخته شده باشد. یادداشت های انتشار را می توان به سبک غیر رسمی تری نوشت و اغلب برای اعلام نسخه جدید یا به روز رسانی نرم افزار استفاده می شود.
گزارش تغییرات سندی دقیق تر و ساختارمندتر است که فهرستی جامع از تغییرات ایجاد شده در نرم افزار در طول زمان را ارائه می دهد. ممکن است شامل اطلاعاتی در مورد تاریخ انتشار، شماره نسخه، نویسنده تغییر، خلاصهای از تغییرات و هر جزئیات مرتبط دیگری باشد. گزارشهای تغییرات اغلب بر اساس زمانی سازماندهی میشوند و آخرین تغییرات در ابتدا فهرست میشوند.
یادداشتهای انتشار و گزارشهای تغییرات موضوع دیگری هستند، اما اگر میخواهید اکنون به موضوع نگاه کنید، در اینجا چند پیوند وجود دارد:
یادداشتهای انتشار بهطور خودکار – GitHub Docs
changelog-generator
ایجاد یک تعهد
خوب، به پیام تعهد ما برگردیم!
این بار تغییراتی در کد خود ایجاد کنید و ذخیره کنید.
git add را انجام دهید، اما این بار هنگام commit کردن -m را اضافه نکنید
git commit
بسته به اینکه از چه ویرایشگری استفاده می کنید، این در یک فایل یا در ترمینال ظاهر می شود:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
# modified: README.md
بالاتر از آن #هایی که می خواهید پیام خود را اضافه کنید، در این سبک:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Fix: CSS in nav bar fix Adjust nav bar styling for small screens
The nav bar was not displaying correctly on small screens due to a styling issue.
This commit addresses the issue by adjusting the CSS to ensure that the nav bar
displays correctly on screens of all sizes
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# modified: README.md
#
اگر در یک فایل متنی کار می کنید، فقط فایل را ذخیره کنید و سپس git push
.
اگر در ترمینال کار می کنید، با تایپ کردن ذخیره کنید :wq
سپس git push
همچنین اگر بدون جزئیات زیادی در بدنه متعهد می شوید، می توانید در ترمینال با یک پرچم دو متری commit کنید:
git commit -m <title> -m <detailed description>
git commit -m 'Fix css in nav bar fix Adjust nav bar styling for small screens' -m 'The nav bar was not displaying correctly on small screens due to a styling issue. This commit addresses the issue by adjusting the CSS to ensure that the nav bar displays correctly on screens of all sizes'
ادامه مطلب: Pro Git و Conventional Commits
کتاب Pro Git
تعهدات متعارف
Git Docs
❤️❤️❤️
برای همه به روز رسانی ها و پست های وبلاگ آینده، من را در لینکدین دنبال کنید