ربط مضيف شفرة
يعمل Control Center مع ثلاثة مضيفين للشفرة، ويُطلَق على كل منها مضيف شفرة: GitHub وGitLab وBitbucket Cloud. ولا واحد منهم افتراضي. اربط واحدًا فيعمل كل شيء، واربط أكثر من واحد فتستطيع مساحة العمل الواحدة أن تضم مستودعات من المضيفين الثلاثة معًا.
المضيف خاصية لكل مستودع، يُقرأ من مستودعه البعيد origin عند التسجيل. لا تختاره أنت، ولا إعداد على نطاق مساحة العمل يمكن أن تخطئ فيه.
ربط مضيف شفرة
قسم بعنوان “ربط مضيف شفرة”- افتح الإعدادات ← مساحة العمل ← الملف الشخصي والهوية (
/settings/workspace/profile). - اعثر على بطاقة استضافة الكود. كل مضيف مدعوم ظاهر فيها، متصلًا كان أو لا.
- انقر تسجيل الدخول عبر … إن عرضه الصف، أو إضافة رمز وصول والصق رمزًا.
يظهر تسجيل الدخول حين يكون للخادم تطبيق مسجّل عند ذلك المضيف — واليوم هذا GitHub، عبر تدفق الجهاز (انظر إنشاء تطبيق GitHub). وما سواه رمز تلصقه: الزر لا يظهر إلا إذا كان الإتمام ممكنًا.
في الحالين الاعتماد لك ويعيش على الخادم، ومفتاحه معرّف مستخدمك: لا يُخزَّن أي رمز على الجهاز الذي كتبته فيه، وكل جهاز تسجّل الدخول منه يستخدم الرمز نفسه، ولا يقرؤه عضو آخر. يسري في الطلب التالي — لا شيء يُعاد تشغيله، وقطع الاتصال يوقف إرساله فورًا.
كل صف يقول من أين جاء اعتماده، لأن هذا الفرق بين «رمزي لا يعمل» و«رمز آخر هو الذي يجيب»:
| العنوان الفرعي | المعنى |
|---|---|
Signed in as octocat |
اعتمادك أنت هو المستخدم |
Signed in as octocat · via this server's app |
هوية تطبيق الخادم هي التي تجيب — لم تسجّل دخولك |
Signed in as octocat · from the environment |
متغيّر بيئة على الخادم هو الذي يجيب، لا اعتمادك |
Not connected |
ليس لديك اعتماد لهذا المضيف |
أي رمز يطلبه كل مضيف
قسم بعنوان “أي رمز يطلبه كل مضيف”| المضيف | الرمز | أين يُنشأ |
|---|---|---|
| GitHub | كلاسيكي: repo وread:org. دقيق الصلاحيات: المحتويات + طلبات السحب (قراءة/كتابة)، والفحوصات + الإجراءات (قراءة) |
github.com ← الإعدادات ← إعدادات المطوّر ← الرموز |
| GitLab | رمز وصول شخصي بصلاحية api |
gitlab.com ← إعدادات المستخدم ← رموز الوصول |
| Bitbucket | رمز API من Atlassian، مع بريد حسابك | id.atlassian.com ← الأمان ← رموز API |
يصادق Bitbucket مستخدمًا بريد حسابك اسمًا للمستخدم، والرمز كلمة مرور. اضبط BITBUCKET_EMAIL في بيئة الخادم حتى يعرف أي بريد يقرنه بالرمز.
أو استخدم البيئة
قسم بعنوان “أو استخدم البيئة”في التثبيت بلا واجهة، أو في التكامل المستمر، يقرأ الخادم هذه:
- GitHub —
GITHUB_TOKEN، ثمGH_TOKEN - GitLab —
GITLAB_TOKEN، ثمCI_JOB_TOKEN - Bitbucket —
BITBUCKET_API_TOKEN، ثمBITBUCKET_TOKEN(معBITBUCKET_EMAIL)
هذه اعتماد الخادم لا اعتمادك، والفرق بينهما هو ما يحدّد السلوك: الطلب الذي يُقدَّم نيابة عنك يستخدم اعتمادك ولا شيء غيره، فلا تنوب البيئة عنك في صمت. العمل الذي لا إنسان خلفه — خطافات الويب، واستطلاع طلبات السحب، ومزامنة التذاكر — يحل هوية تطبيق الخادم أولًا، ثم اعتماد مالك الخادم، ثم البيئة. الترتيب ثابت، حتى لا يقع «سجّلت الدخول ولم يتغيّر شيء».
أنت شخص آخر على كل مضيف
قسم بعنوان “أنت شخص آخر على كل مضيف”الإنسان نفسه octocat على GitHub واسم آخر تمامًا على GitLab. يحل Control Center هويتك لكل مضيف ويستخدم المناسبة منها لكل مستودع، وهذا ما يجعل «يحتاج إلى مراجعتي» و«من إنشائي» و«وافقت على هذا» صحيحة في مساحة العمل المختلطة.
إن لم تُحَل هوية مضيف، فلا تضيف مستودعاته شيئًا إلى الوارد، بدل أن تُطابق كل شيء. يقول الوارد ذلك، ولا يدّعي أنك «لقد اطلعت على كل شيء».
وارد واحد لكل المضيفين
قسم بعنوان “وارد واحد لكل المضيفين”ينتشر الوارد وقائمة طلبات السحب على كل مضيف تمثّله مساحة العمل، ثم تُجمع النتائج في مجرى واحد: يجاور طلب سحب من GitHub طلب سحب من Bitbucket، والترتيب بالوقت لا حسب الشركة.
الإخفاق معزول. المضيف المتوقف، أو الذي بلغ حد المعدّل، أو غير المتصل، لا يساهم بشيء ولا يمسّ الباقي، ولا يفرغ الوارد كله. تبقى مستودعاته على آخر حالة عُرفت لها إلى أن يعود.
ما يستطيعه كل مضيف
قسم بعنوان “ما يستطيعه كل مضيف”يدعم كل مضيف الحلقة الأساسية: سرد طلبات السحب وفتحها، وقراءة الفروق، والتعليق على السطر وعلى الطلب، ثم المراجعة والدمج والإغلاق. وبعد ذلك يختلفون فعلًا، ويخفي Control Center ما لا يستطيعه المضيف بدل عنصر تحكم يفشل في صمت.
| القدرة | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| المراجعات المجمّعة (المعلّقة) | ✓ | ✓ | — |
| طلب تغييرات | ✓ | ✓ | ✓ |
| مزامنة حالة «معروض» لكل ملف | ✓ | — | — |
| تفاعلات الإيموجي | ✓ | ✓ | — |
| مراجعون من فريق أو مجموعة | ✓ | ✓ | — |
| مراجعون مقترحون | ✓ | — | ✓ |
| نتائج الفحوصات على طلب السحب | ✓ | ✓ | ✓ |
| الدخول إلى خطوات مهمة الفحص وسجلاتها | ✓ | ✓ | — |
| طلبات السحب المكدّسة | ✓ | — | — |
| قوالب وصف طلب السحب | ✓ | ✓ | — |
| استطلاع الإشعارات | ✓ | — | — |
| ملفات المستخدم المفصّلة | ✓ | ✓ | — |
| مرجع head لطلب السحب على الخادم | ✓ | ✓ | — |
حيث تغيب قدرة، تتراجع الميزة بلا ادّعاء:
- حالة «معروض» تبقى تعمل، لكن على الجهاز الذي ضبطتها عليه فقط.
- المراجعات المجمّعة على Bitbucket تُنشر تعليقًا بعد تعليق، فيراها المراجعون تصل فرادى لا دفعة واحدة.
- غياب مرجع head على Bitbucket يعني أن جلب طلب السحب يأخذ فرع المصدر باسمه، فيفشل متى حُذف الفرع.
المفردات
قسم بعنوان “المفردات”يسمّي GitLab طلب السحب طلب دمج. يقول Control Center «طلب سحب» في نموذجه كله، ويستخدم اسم المضيف نفسه حين الكلام عن ذلك المضيف.
استكشاف الأخطاء وإصلاحها
قسم بعنوان “استكشاف الأخطاء وإصلاحها”قائمة طلبات السحب فارغة وتقول إن مضيفًا غير متصل
قسم بعنوان “قائمة طلبات السحب فارغة وتقول إن مضيفًا غير متصل”ليس لديك اعتماد لذلك المضيف. سجّل الدخول أو الصق رمزًا في الإعدادات ← مساحة العمل ← الملف الشخصي والهوية ← استضافة الكود. مستودعات المضيفين الآخرين لا تتأثر.
ربطت مضيفًا ومستودعاته لا تعرض شيئًا
قسم بعنوان “ربطت مضيفًا ومستودعاته لا تعرض شيئًا”افحص العنوان الفرعي للصف. إن ورد فيه «عبر تطبيق هذا الخادم» أو «من البيئة»، فاعتماد غير الذي توقعته هو الذي يجيب — اعتمادك يغلب في كل ما تطلبه، فإن قال الصف غير ذلك فلم يُحفظ اعتمادك.
مستودع لا يُسجَّل
قسم بعنوان “مستودع لا يُسجَّل”يحتاج التسجيل إلى الثلاثة: أن يكون المسار داخل شجرة عمل Git، وأن يكون لها مستودع بعيد origin، وأن يشير ذلك المستودع البعيد إلى github.com أو gitlab.com أو bitbucket.org. انظر إضافة مستودعات إلى مساحة عمل.
يتوقف كل شيء فترة بعد استخدام كثيف
قسم بعنوان “يتوقف كل شيء فترة بعد استخدام كثيف”هذا قاطع حد المعدّل. إذا أشار المضيف إلى بلوغ حدّه الأساسي للمعدّل، يفشل العميل ما يلي من طلبات محليًا وبلا اتصال بالشبكة، إلى أن تنقضي النافذة — فلا يعمّق تكرار المحاولة الحد. والأعطال العابرة تُعاد محاولتها بتراجع أسي.