برچسب‌گذاری در Git — git tag

ثبت نسخه‌های مهم پروژه با git tag؛ تفاوت برچسب سبک و annotated و کاربرد آن‌ها در نسخه‌بندی.

برچسب (Tag) چیست؟

برچسب (Tag) یک نام دائمی روی یک کامیت خاص است — معمولاً برای مشخص کردن نسخه‌های انتشار (Release) استفاده می‌شود. مثلاً وقتی پروژه‌تان به نسخه ۱.۰ می‌رسد، روی آن کامیت برچسب v1.0 می‌زنید.

تفاوت برچسب با شاخه: شاخه جلو می‌رود و با هر کامیت جدید جابه‌جا می‌شود، اما برچسب مثل یک تابلو روی یک سنگ است — همیشه به همان یک کامیت اشاره می‌کند.

دو نوع برچسب

نوعتوضیحکاربرد
سبک (Lightweight)فقط یک اشاره‌گر به کامیت — بدون اطلاعات اضافهبرچسب‌های موقت و شخصی
حاشیه‌نویسی‌شده (Annotated)آبجکت کامل با نام نویسنده، تاریخ، پیام و امکان امضانسخه‌های رسمی انتشار (پیشنهادی)

ساخت برچسب

برچسب annotated (پیشنهادی)

git tag -a v1.0 -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 است.

ابزارهای مرتبط