آموزش git | تگ گذاری (Tagging)

ایجاد تگ برای نسخه‌های مهم

تگ (Tag) در Git یک اشاره‌گر ثابت به یک commit خاص است. برخلاف شاخه‌ها که با هر commit جدید حرکت می‌کنند، تگ‌ها روی یک commit مشخص قفل می‌شوند و تغییر نمی‌کنند. این ویژگی برای علامت‌گذاری نقاط مهم تاریخچه پروژه، مانند نسخه‌های منتشر شده (Release) یا نقاط عطف توسعه (Milestone) بسیار مفید است.

دو نوع تگ اصلی وجود دارد:

  1. تگ سبک (Lightweight Tag): این تگ فقط یک نام برای یک commit خاص است. مانند یک برچسب ساده که تغییرات متادیتای خاصی ایجاد نمی‌کند.

    • ایجاد تگ سبک:
      دستور زیر یک تگ با نام v1.0 روی آخرین commit شاخه فعلی ایجاد می‌کند:

      git tag v1.0

      اگر بخواهید تگ را روی یک commit خاص (با هش commit) ایجاد کنید:

      git tag v1.0 abc123def
  2. تگ الحاقی (Annotated Tag): این نوع تگ کامل‌تر است زیرا شامل اطلاعات اضافی مانند نام تگ‌گذار، ایمیل، تاریخ و یک پیام (Message) می‌شود. همچنین از نظر رمزنگاری قابل امضا (Sign) است. معمولاً برای انتشار نسخه‌های رسمی از تگ الحاقی استفاده می‌شود.

    • ایجاد تگ الحاقی:
      با گزینه a- (مخفف annotated) یک تگ الحاقی ایجاد می‌شود. Git از شما یک پیام می‌خواهد (مشابه commit message):

      git tag -a v1.0 -m "نسخه اولیه منتشر شد"

      اگر m- را حذف کنید، ویرایشگر پیش‌فرض Git باز می‌شود تا پیام را بنویسید.

نمایش تگ‌ها:
برای دیدن لیست تمام تگ‌ها از دستور زیر استفاده کنید:

git tag

برای دیدن اطلاعات کامل یک تگ خاص (مخصوصاً تگ الحاقی) و commit مرتبط با آن:

git show v1.0

خروجی این دستور نشان می‌دهد که تگ روی کدام commit قرار دارد، چه پیامی دارد و تغییرات آن commit را هم نمایش می‌دهد.

انتقال تگ‌ها به مخزن ابری (Remote):
تگ‌ها به صورت خودکار با دستور git push منتقل نمی‌شوند. برای انتقال تگ‌ها به مخزن ابری:

  • انتقال یک تگ خاص: git push origin v1.0
  • انتقال همه تگ‌ها به یکباره: git push origin --tags

حذف تگ:

  • حذف تگ محلی: git tag -d v1.0
  • حذف تگ از مخزن ابری: `git push origin –delete v1.0
پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2