ForHosting KIT · أدوات المطورين

اختصار بصمة commit في Git إلى الطول المطلوب

تستقبل أداة اختصار بصمة commit في Git معرّف كائن كاملًا من نوع SHA-1 أو SHA-256، ثم تعيد العدد المطلوب بالضبط من المحارف السداسية العشرية الأولى. تفيد عندما يكون المعرّف الكامل أطول من المساحة المتاحة في تسمية إصدار أو شاشة بناء أو ملخص سجل أو ملاحظة نشر. العملية حتمية، وتحافظ على حالة الأحرف كما وردت، وترفض أي طول مطلوب يتجاوز طول البصمة الكاملة.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

أنشئ معرّف commit قصيرًا ومتوقعًا

تتميز معرّفات كائنات Git بالدقة، لكن تمثيلها السداسي العشري الكامل قد يكون طويلًا في الواجهات المدمجة والسجلات المخصصة للقراءة البشرية. تستقبل هذه الإمكانية بصمة commit كاملة من نوع SHA-1 بطول 40 محرفًا أو من نوع SHA-256 بطول 64 محرفًا، ثم تعيد عدد المحارف الأولى الذي تحدده. وهذه هي الصيغة المعتادة التي يعرض بها Git أسماء الكائنات المختصرة. وبما أنكم تحددون الطول صراحة، فلن تتغير النتيجة باختلاف حجم المستودع أو الإعداد المحلي أو الجهاز الذي ينفذ الأمر. يمكن مثلًا لمسار إصدار أن يستخدم 12 محرفًا دائمًا، بينما تستخدم شارة ضيقة 8 محارف. تتضمن النتيجة القيمة المختصرة والطول المطبق، مما يسهل التحقق منها قبل وضعها في نظام آخر. وتبقى حالة الأحرف الأصلية كما هي. لا حاجة إلى استنساخ مستودع، إذ تقتصر العملية على التحقق من النص واقتطاع البادئة المطلوبة.

اختر الطول مع مراعاة احتمال التصادم

البصمة القصيرة اختصار وليست معرّف commit جديدًا. يسهل قراءة البادئات الأقصر، لكنها تصبح أكثر عرضة لمطابقة عدة كائنات مع نمو المستودع. يستطيع Git حساب أقصر اختصار فريد من خلال فحص الكائنات التي يراها، أما هذه الأداة فلا يمكنها ضمان التفرد لأنها تستقبل بصمة واحدة ولا تفحص أي مستودع. اختاروا طولًا يناسب السياق والعدد المتوقع للكائنات. قد تكون 7 أو 8 محارف ملائمة لمشروع صغير، بينما توفر 12 محرفًا أو أكثر هامشًا أوسع للسجلات الكبيرة وأرشيفات البناء طويلة الأجل. إذا كان على أمر لاحق حل القيمة داخل مستودع، فتحققوا هناك من أن البادئة غير ملتبسة. تمنع الإمكانية خطأ محددًا، وهو طلب محارف أكثر مما تحتويه البصمة الكاملة. كما تشترط إدخال معرّف SHA-1 أو SHA-256 كامل، بدل قبول قيمة مختصرة مسبقًا قد تخفي عدم اليقين بشأن مصدرها أو خوارزميتها.

وحّد الاختصار في عمليات الأتمتة

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

تسمية منتجات البناء

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

توثيق عمليات النشر

اعرض بادئة commit سهلة القراءة في لوحات النشر وملاحظات الإصدار، مع الاحتفاظ بالبصمة الكاملة في موضع آخر.

توحيد المراجع في السجلات

طبّق طول اختصار واضحًا على جميع الخدمات كي يسهل ربط مراجع المراجعات ومقارنتها.

ما التكلفة؟

سعر API هو $0.002 لكل طلب. ويمكن تنفيذ العملية الحتمية نفسها داخل المتصفح في هذه الصفحة.

ما صيغ بصمات Git المقبولة؟

يجب أن يكون الإدخال معرّفًا سداسيًا عشريًا كاملًا من نوع SHA-1 بطول 40 محرفًا أو SHA-256 بطول 64 محرفًا.

هل تعرّف البصمة القصيرة commit بصورة فريدة؟

ليس بالضرورة. يعتمد التفرد على الكائنات الأخرى في المستودع المحدد، وهذه الإمكانية لا تفحص المستودع.

ماذا يحدث إذا كان الطول المطلوب أكبر من اللازم؟

يفشل الطلب بخطأ إدخال غير صالح يوضح الطول المطلوب والطول المتاح في البصمة الكاملة.

هل تحول الأداة الأحرف السداسية العشرية الكبيرة إلى صغيرة؟

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

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

POSThttps://api.kit.forhosting.com/dev/commit-hash-short-form

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/commit-hash-short-form \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commit_hash":"8f14e45fceea167a5a36dedd4bea2543d2f6b721","length":12}'
{
  "commit_hash": "8f14e45fceea167a5a36dedd4bea2543d2f6b721",
  "length": 12
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.commit_hash_short_form",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←