ابدأ من هنا

الاستنساخ

مستودع جديد ← استنساخ، أو ⌘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: العدّ، والضغط، والاستقبال، والحل، والسحب. والمرحلة التي لا تستطيع الإبلاغ عن إجمالي تُظهر شريطًا غير محدَّد بدلًا من نسبة مئوية مزيفة.

ويُفتح المستودع الجديد في تبويب، مثبَّتًا على الملف الشخصي الذي استنسخت به.

حسّن هذه الترجمة على GitHub