برچسبگذاری در Git — git tag
ثبت نسخههای مهم پروژه با git tag؛ تفاوت برچسب سبک و annotated و کاربرد آنها در نسخهبندی.
برچسب (Tag) چیست؟
برچسب (Tag) یک نام دائمی روی یک کامیت خاص است — معمولاً برای مشخص کردن نسخههای انتشار (Release) استفاده میشود. مثلاً وقتی پروژهتان به نسخه ۱.۰ میرسد، روی آن کامیت برچسب v1.0 میزنید.
تفاوت برچسب با شاخه: شاخه جلو میرود و با هر کامیت جدید جابهجا میشود، اما برچسب مثل یک تابلو روی یک سنگ است — همیشه به همان یک کامیت اشاره میکند.
دو نوع برچسب
| نوع | توضیح | کاربرد |
|---|---|---|
| سبک (Lightweight) | فقط یک اشارهگر به کامیت — بدون اطلاعات اضافه | برچسبهای موقت و شخصی |
| حاشیهنویسیشده (Annotated) | آبجکت کامل با نام نویسنده، تاریخ، پیام و امکان امضا | نسخههای رسمی انتشار (پیشنهادی) |
ساخت برچسب
برچسب annotated (پیشنهادی)
git tag -a v1.0 -m "نسخه اول پروژه"
-aیعنی annotated-mپیام برچسب
برچسب سبک
git tag v1.0-beta
برچسب روی کامیت قدیمی
git tag -a v0.9 -m "نسخه بتا" a1b2c3d
کافی است شناسه کامیت را در انتها بنویسید.
دیدن برچسبها
git tag
# v0.9
# v1.0
جستجوی برچسبها با الگو:
git tag -l "v1.*"
# v1.0
دیدن جزئیات یک برچسب:
git show v1.0
نسخهبندی معنایی (Semantic Versioning)
استاندارد رایج نسخهبندی به شکل vMAJOR.MINOR.PATCH است:
| بخش | کی افزایش مییابد؟ | مثال |
|---|---|---|
| MAJOR | تغییرات ناسازگار با نسخه قبل | v2.0.0 |
| MINOR | قابلیت جدید سازگار | v1.1.0 |
| PATCH | رفع باگ | v1.0.1 |
حذف برچسب
git tag -d v1.0-beta
# Deleted tag 'v1.0-beta' (was a1b2c3d)
ارسال برچسبها به ریموت
برچسبها بهصورت خودکار با git push ارسال نمیشوند:
# ارسال یک برچسب خاص:
git push origin v1.0
# ارسال همه برچسبها:
git push origin --tags
خلاصه
- برچسب = نام دائمی روی یک کامیت (معمولاً نسخه انتشار)
git tag -a v1.0 -m "پیام"برچسب annotated میسازدgit tagلیست برچسبها را نشان میدهد- برچسبها باید جداگانه push شوند
این مبحث بخشی از دوره آموزش کامل Git است.