Git: استنساخ فرع محدد
آخر تحديث
افتراضيًا يقوم git clone بسحب الفرع الافتراضي للمستودع (عادةً main) لكنه ينزّل جميع الفروع. للبدء على فرع مختلف، أضف -b <branch>. ولجلب ذلك الفرع فقط وتخطي الباقي - وهو أمر مفيد للمستودعات الكبيرة أو لأنظمة CI - مرّر أيضًا --single-branch.
جرّب هذه الأوامر في ساحة الطرفية - صدفة حقيقية داخل متصفحك، دون الحاجة إلى تثبيت أي شيء.
الصيغة
| Command | What it does |
|---|---|
git clone -b dev <url> | يستنسخ الفرع dev ويسحبه |
git clone -b dev --single-branch <url> | يستنسخ سجل الفرع dev فقط |
git clone <url> then git switch dev | يستنسخ كل شيء ثم يبدّل الفرع |
أي نهج تستخدم
| Goal | Command |
|---|---|
| البدء على فرع مع الاحتفاظ بجميع الفروع | git clone -b dev <url> |
| تحتاج إلى فرع واحد فقط | git clone -b dev --single-branch <url> |
| سبق أن استنسخت وتريد فرعًا آخر | git fetch then git switch dev |
الأسئلة الشائعة حول استنساخ فرع محدد في Git
كيف أستنسخ فرعًا محددًا في Git؟
git clone -b <branch> <url> (أو الصيغة الطويلة --branch). يقوم Git باستنساخ المستودع ويسحب الفرع الذي حدّدته بدلًا من الفرع الافتراضي. تظل جميع الفروع الأخرى تُنزَّل ما لم تمرّر أيضًا --single-branch.كيف أستنسخ فرعًا واحدًا فقط دون أي شيء آخر؟
git clone -b <branch> --single-branch <url>. هذا يجلب سجل الفرع المحدد فقط، متخطيًا كل فرع آخر - استنساخ أصغر وأسرع، مفيد للمستودعات الكبيرة أو خطوط CI التي تحتاج إلى فرع واحد فقط.هل يمكنني التبديل إلى فرع آخر بعد استنساخ فرع واحد؟
git remote set-branches origin '*' ثم git fetch - وبعدها يمكنك استخدام git switch للانتقال إلى أي فرع. إذا كنت تتوقع الحاجة إلى عدة فروع، فقم بدلًا من ذلك باستنساخ عادي.ما الفرق عن مجرد الاستنساخ ثم التبديل؟
git clone <url> عاديًا متبوعًا بـ git switch <branch> يمنحك كل فرع ثم ينقلك إلى الفرع الذي تريده - مناسب للاستخدام العادي. أما git clone -b فيبدأ بك على ذلك الفرع فورًا، ومع --single-branch يتجنب أيضًا تنزيل الباقي.هل يمكنني التدرّب على هذا عبر الإنترنت؟
git clone في صدفة حقيقية داخل متصفحك - دون الحاجة إلى تثبيت أي شيء. كما تغطي دورة Git التفاعلية المجانية من Coddy كيفية الحصول على مستودع خطوة بخطوة.