محتويات الدورة

Git وGitHub / المتقدم: الثقة والحجم والتعافي / الدرس 17

الوسوم والإصدارات وتعاون الصيانة

حدد معالم المصدر واربطها بحزم متحققة دون اعتبار الاسم ضمان ثبات.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • ميّز الوسم الخفيف والمشروح وإصدار GitHub.
  • احفظ هوية الإصدار وتتبع الصيانة.

يسمي الوسم نقطة تاريخية وفق سياسة

الخفيف مرجع ويضيف المشروح كائن بيانات ورسالة وقد يحمل توقيعاً. يحدد كلاهما نقطة ولا يضمن الاسم عدم التحريك أو الحذف؛ تحدد السياسة الضوابط. عامل المنشور اتفاقاً ثابتاً وفضّل إصداراً جديداً للتصحيح بدل تغيير المعنى بصمت. تحقق من الإيداع والتوقيع لا الوسم المألوف فقط.

أنشئ معلماً للمصدر بالمختبر فقط

ينشئ الجزء وسماً مشروحاً غير موقع بهوية اصطناعية. يعيد cat-file كلمة tag لكائن الوسم وتصل صيغة التقشير للإيداع. لا ينشئ إصدار GitHub أو يرفع. التوقيع عملية تشفير منفصلة بثقة ودورة مفتاح؛ ليس الوسم التعليمي منشأ موثقاً. تقتصر الكتابة على المؤقت.

bash فحص وسم مشروح مؤقت وهدفه
git -c user.name="Lab Author" -c user.email="lab@example.invalid" tag -a lab-v1.0 -m "Lab notebook milestone"
git cat-file -t lab-v1.0
git rev-parse 'lab-v1.0^{commit}'

مخرج النوع tag والمعرّف الأخير إيداع مولد غير ثابت هنا. يفترض عدم وجود الاسم ولا يستخدم قسراً أو نشراً أو تغييراً فعلياً.

افصل بيانات الإصدار المستضاف من كائنات Git

إصدار GitHub نشر مرتبط بوسم وقد يحوي ملاحظات وحزماً. تختلف تواريخه عن الإيداع والوسم. تختلف أرشفة المصدر عن الثنائي ولا يثبت الوسم بناءه من المصدر أو اختباره. اربط البصمات والمنشأ والدليل وفق العملية. تختلف ميزات حماية الإصدار وثباته فراجع الحالي والإعداد لا تفترض ضماناً واحداً.

سجل المصدر والحزمة صراحة

يوضح الوصف الاصطناعي حقول الربط لا صيغة GitHub معيارية أو بصمة وموافقة حقيقية. يستخدم الفعلي معرّفات ثابتة متحققة ومصادر موثوقة. احفظ الاسم للتنقل والإيداع للدقة. يكشف الوصف تحريك الوسم ولا يتبعه بصمت. لا تضمن اعتمادات أو تشخيصاً خاصاً بحزم عامة وراجع الوصول والاحتفاظ.

json سجل إصدار اصطناعي يعرّفه التطبيق
{
  "tag": "lab-v1.0",
  "sourceCommit": "synthetic-lab-commit",
  "artifact": "synthetic-lab-package",
  "validationRecord": "lab-test-record",
  "publicationState": "example-only-not-published"
}

الوسوم ليست بصمات تشفير مختلقة عمداً. يصف التتبع ويصرح بعدم النشر ولا ينشئ إصداراً أو يرفع أو يستدعي API.

نسق الإصلاح عبر خطوط الإصدار المدعومة

حدد الفروع المدعومة ومعيار النقل والمراجعة وعودة الإصلاح للتطوير. قد تختلف هوية المنقول بكل خط فاحفظ المنشأ واختبر السياق. اشرح السلوك والترحيل بالملاحظات لا البصمات فقط. لا تحرك المنشور لإخفاء مشكلة بل صحح بعلاقة واضحة. تحقق قبل النشر من التفويض والمصدر والحزمة والتعافي وفق العملية ولا تنشر الدورة شيئاً.

الأخطاء الشائعة وإصلاحها

يفترض أن الوسم يثبت منشأ الثنائي

لماذا يحدث؟
اختلط اسم المصدر بدليل البناء.
كيف تصلحه؟
تحقق من الحزمة والمنشأ والاختبار منفصلة.
كيف تتجنب تكراره؟
اربط سجلي المصدر والحزمة.

يحرك وسم منشور لإخفاء إصلاح

لماذا يحدث؟
عومل الاسم المنشور كوسم محلي عابر.
كيف تصلحه؟
نسق إصداراً تصحيحياً واضحاً.
كيف تتجنب تكراره؟
احمِ وراجع تغيير المنشور.

يصدر نقل دون اختبار الوجهة

لماذا يحدث؟
افترضت تغطية الأصل لسياق آخر.
كيف تصلحه؟
تحقق من المرشح الفعلي.
كيف تتجنب تكراره؟
احفظ دليل ومنشأ كل خط.

اختبر فهمك

1. يوجد وسم مشروح محلياً. هل نشر إصدار GitHub؟

اعرض الحل المشروح

لا؛ الوسم كائن ومرجع محلي والنشر والحزم منفصلان بصلاحية وسياسة. لا تثبت مشاركة الوسم نشر الثنائي والملاحظات.

2. يعاد بناء ثنائي من الوسم نفسه لاحقاً. ماذا يتحقق؟

اعرض الحل المشروح

افحص المصدر والاعتماد والأدوات والبصمة والمنشأ والتحقق. تثبت قابلية التكرار ولا تفترض بالاسم، وقد تحتاج الحزمة المتغيرة دليلاً وقراراً جديدين.

أهم ما تعلمته

  • تحدد الوسوم المصدر وتضيف الإصدارات بيانات نشر.
  • تحتاج هوية الحزمة ومنشؤها تحققاً مستقلاً.
  • مراجع الإصدار المنشورة اتفاقات تعاون.

المراجع الرسمية