آموزش git | نسخه بندی (Versioning)

استفاده از تگ‌ها برای نسخه‌بندی

در دنیای برنامه‌نویسی، هر بار که یک نسخه جدید از نرم‌افزار خود را منتشر می‌کنید (مثلاً نسخه 1.0، 1.1 یا 2.0)، باید بتوانید دقیقاً به آن نقطه از تاریخچه پروژه بازگردید. تگ‌ها (Tags) در Git این امکان را فراهم می‌کنند. تگ مانند یک برچسب ثابت است که به یک commit خاص می‌چسبد و برخلاف شاخه‌ها (Branches) با commit های بعدی تغییر نمی‌کند.

چرا از تگ برای نسخه‌بندی استفاده کنیم؟
تصور کنید پروژه شما 1000 commit دارد. اگر بخواهید نسخه 1.0 را پیدا کنید، باید تاریخچه را جستجو کنید. تگ به شما اجازه می‌دهد با یک نام ساده مانند v1.0 مستقیماً به آن commit بروید. این کار مخصوصاً برای انتشار نرم‌افزار (Release) ضروری است.

نحوه ایجاد تگ نسخه‌بندی:
فرض کنید پروژه شما در وضعیت مناسبی برای انتشار نسخه 1.0 است. ابتدا مطمئن شوید که در شاخه اصلی (مثلاً main یا master) هستید و آخرین commit را انجام داده‌اید. سپس دستور زیر را اجرا کنید:

git tag v1.0

این دستور یک تگ با نام v1.0 به آخرین commit شما اضافه می‌کند. اگر می‌خواهید تگ را به یک commit قدیمی‌تر اضافه کنید، می‌توانید هش (Hash) آن commit را مشخص کنید:

git tag v0.9 a1b2c3d4

در اینجا a1b2c3d4 قسمتی از هش commit مورد نظر است.

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

git tag

خروجی چیزی شبیه به این خواهد بود:

v0.9
v1.0

ارسال تگ به مخزن ابری:
توجه کنید که تگ‌ها به صورت خودکار به مخزن ابری (مثل GitHub) ارسال نمی‌شوند. برای این کار باید از دستور git push به همراه گزینه --tags استفاده کنید:

git push origin --tags

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

نکته مهم:

  • تگ‌ها معمولاً از الگوی vX.Y.Z پیروی می‌کنند (مثل v2.1.3). این الگو به تفکیک نسخه‌های اصلی (Major)، فرعی (Minor) و رفع اشکال (Patch) کمک می‌کند.
  • برخلاف شاخه‌ها، نمی‌توانید روی یک تگ commit جدید انجام دهید. تگ فقط یک اشاره‌گر ثابت است.

با استفاده از تگ‌ها، شما یک تاریخچه شفاف از انتشار نسخه‌های نرم‌افزار خود خواهید داشت و همیشه می‌توانید به سرعت به هر نسخه خاصی برگردید.

پرسش و پاسخ این درس

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

  • 1