الاستنساخ
مستودع جديد ← استنساخ، أو ⌘K ثم استنساخ. الصق عنوانًا، أو سجّل الدخول
إلى GitHub أو GitLab أو Bitbucket أو Azure DevOps واختر من مستودعاتك أنت —
يُستخدَم رمز الملف الشخصي المختار للاستنساخ ثم يُهمَل، ولا يُكتب
أبدًا في .git/config.
اختر مجلدًا أبًا واسمًا؛ ويُظهر السطر أسفل الحقول بالضبط أين سيحطّ المستودع. والمجلد الموجود مسبقًا يُرفَض بدلًا من أن يُدمج فيه.
خيارات متقدمة — تضييق الاستنساخ
كل ما تحت متقدم معطَّل افتراضيًا: اتركه وشأنه وستحصل على استنساخ عادي كامل. وهو يستحق مكانه في المستودعات التي تعني فيها كلمة «كامل» عشرين دقيقة وعدة غيغابايتات.

| الخيار | ما يفعله git | ما يكلّفه |
|---|---|---|
| استنساخ جزئي | --filter=blob:none |
السجل كامل، بلا محتويات الملفات. تصل الكائنات عند الطلب، لذا فتح ملف قديم يحتاج إلى الشبكة. |
| استنساخ سطحي | --depth=N |
لا توجد إلا أحدث N التزامًا. blame وlog وbisect ومقارنة النطاقات تتوقف عند القطع. |
| فرع واحد فقط | --single-branch |
تبقى بقية الفروع على المستودع البعيد حتى تجلبها. |
| استنساخ الوحدات الفرعية | --recurse-submodules |
تُسحب كل وحدة فرعية أيضًا — وقت أطول الآن، ولا مجلدات ناقصة لاحقًا. |
| الفرع المراد سحبه | --branch <name> |
يبدأ على ذلك الفرع بدلًا من الفرع الافتراضي للمستودع البعيد. |
الجزئي قبل السطحي. الاستنساخ الجزئي يحتفظ بكل التزام — يبقى السجل قابلًا
للبحث، ولا تُجلب إلا محتويات الملفات بتكاسل. أما الاستنساخ السطحي فيتخلّص من
السجل فعلًا: ينتهي git log عند القطع، ولا يستطيع blame الرؤية خلفه. إن كنت
تستنسخ مستودعًا عملاقًا لتعمل فيه، فالجزئي هو ما تريده عادةً.
والسطحي قابل للتراجع: يملأ الأمر git fetch --unshallow في
الطرفية السجل من جديد.
اختيار الفرع
اكتب اسم فرع، أو اضغط سرد الفروع لتسأل المستودع البعيد عمّا لديه
(git ls-remote --heads) وتختار من قائمة منسدلة. تلك رحلة شبكة واحدة، لا تُجرى
إلا حين تضغط الزر — ولا يُستعلَم عن شيء وأنت تكتب.
وإن فشل السرد — عنوان خاص بلا رمز بعد، أو خطأ إملائي، أو انقطاع الشبكة — يبقى الحقل صندوق نص عاديًا، ويبلّغك الاستنساخ نفسه بالخطأ الحقيقي.
ملاحظتان على الرايات
--depthيستلزم--single-branch. مع الاستنساخ السطحي، ترك فرع واحد فقط بلا تحديد هو ما يطلب بقية الفروع مرة أخرى (--no-single-branch)، ولهذا يتغيّر التلميح أسفله.- استنساخ مجلد محلي يتجاهل
--depthتمامًا في العادة، لأن git يربط مخزن الكائنات برابط صلب بدلًا من جلبه. لذا يستنسخ Gitcito عبر عنوانfile://حين تطلب نسخة سطحية من مستودع محلي، كي يكون العمق الذي طلبته هو العمق الذي تناله.
التقدّم
يبلّغ الشريط بما يبلّغ به git: العدّ، والضغط، والاستقبال، والحل، والسحب. والمرحلة التي لا تستطيع الإبلاغ عن إجمالي تُظهر شريطًا غير محدَّد بدلًا من نسبة مئوية مزيفة.
ويُفتح المستودع الجديد في تبويب، مثبَّتًا على الملف الشخصي الذي استنسخت به.