علامات Git

1 دقيقة

جدول المحتويات

  1. ما هو الوسم؟
  2. أنواع الوسوم
  3. استخدام عملي
  4. إدارة الإصدارات

1. ما هو الوسم؟

Git tag = تسمية دائمة على إيداع محدَّد.

الاستخدام الرئيسي: تعليم الإصدارات (v1.0، v2.0، إلخ)

الفرق مع الفروع:

  • الفرع = متحرّك، يتطوّر مع إيداعات جديدة
  • الوسم = ثابت، يشير دائماً إلى الإيداع نفسه

تشبيه: الوسم = ملصق «الإصدار 1.0» على صفحة دفتر.

العودة إلى جدول المحتويات

2. أنواع الوسوم

وسم خفيف (بسيط)

bash
git tag v1.0                # وسم بسيط
  • مجرد اسم
  • مؤشّر نحو إيداع
  • سريع الإنشاء

وسم مُعلَّق (كامل)

bash
git tag -a v1.0 -m "Version 1.0 - First stable release"
  • يحتوي رسالة
  • تاريخ ومؤلّف
  • يمكن توقيعه (GPG)
  • موصى به للإصدارات الرسمية

العودة إلى جدول المحتويات

3. استخدام عملي

إعداد المشروع:

bash
mkdir demo-tags && cd demo-tags
git init

echo "print('app v0.1')" > app.py
git add . && git commit -m "Initial version"

echo "print('app v0.2')" > app.py
git add . && git commit -m "Bug fixes"

echo "print('app v1.0')" > app.py
git add . && git commit -m "First stable version"

إنشاء وسوم:

bash
# وسم بسيط
git tag v1.0

# وسم مع رسالة
git tag -a v1.0-stable -m "Version 1.0 - Production ready"

# وسم على إيداع سابق
git log --oneline           # عرض التجزئات
git tag v0.2-beta <hash>    # وسم على إيداع محدَّد

سرد الوسوم:

bash
git tag                     # كل الوسوم
git tag -l "v1.*"          # وسوم تطابق النمط
git show v1.0              # تفاصيل الوسم

التنقّل بالوسوم:

bash
git checkout v1.0          # الذهاب إلى الإيداع الموسوم
git checkout main          # العودة إلى main

دفع الوسوم:

bash
git push origin v1.0       # دفع وسم محدَّد
git push origin --tags     # دفع كل الوسوم

العودة إلى جدول المحتويات

4. إدارة الإصدارات

عرف الإصدار الدلالي:

vMAJOR.MINOR.PATCH
- v1.0.0 → First stable release
- v1.0.1 → Bug fix
- v1.1.0 → New feature (backward compatible)
- v2.0.0 → Breaking changes

سير عمل إصدار نموذجي:

bash
# انتهى التطوير
git checkout main
git pull origin main

# وسم الإصدار
git tag -a v1.2.0 -m "Release v1.2.0 - Add user authentication"

# دفع الشفرة + الوسوم
git push origin main
git push origin v1.2.0

# أو دفع الكل دفعة واحدة:
git push origin main --tags

إدارة الوسوم:

bash
# حذف وسم محلي
git tag -d v1.0

# حذف وسم بعيد
git push origin --delete v1.0

# تعديل وسم (إعادة إنشائه)
git tag -d v1.0                           # حذف محلي
git push origin --delete v1.0             # حذف بعيد
git tag -a v1.0 -m "Corrected message"    # إعادة إنشاء
git push origin v1.0                      # إعادة دفع

حالات الاستخدام:

1. إصدار في الإنتاج:

bash
git tag -a v2.1.0 -m "Production release v2.1.0"
git push origin v2.1.0
# Deploy version v2.1.0 en production

2. الرجوع إلى إصدار سابق:

bash
git checkout v2.0.0        # الرجوع إلى إصدار مستقر
git checkout -b hotfix-v2.0.0    # إنشاء فرع إصلاح

3. مقارنة إصدارات:

bash
git diff v1.0.0 v2.0.0     # عرض كل التغييرات

الوسوم = معالم دائمة لمشروعك. استخدمها لكل إصداراتك!

العودة إلى جدول المحتويات