git clone

الإعداد وإنشاء المشاريع

نسخ مستودع إلى مجلد جديد


ينزّل الأمر 'git clone' مستودعًا — كل commit وفرع ووسم — إلى مجلد جديد، ويستخرج فرعه الافتراضي، ويتذكّر العنوان كمستودع بعيد باسم origin. يتتبّع main لديك origin/main، لذا يعمل git pull وgit push فورًا. ومع --depth تنزّل أحدث الـ commits فقط.

الصيغة

git clone [<options>] <repository> [<directory>]
[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار

الخيارات

انقر على أي خيار لتوسيعه

مبتدئ (1)

استخراج هذا الفرع (أو الوسم) بدل الفرع الافتراضي للمستودع البعيد.

عند الحاجةالبدء مباشرة على فرع آخر

مثال

git clone -b develop <url>

متوسط (1)

تنزيل العدد المحدّد من أحدث الـ commits فقط (استنساخ سطحي). يستلزم --single-branch.

عند الحاجةاستنساخ سريع لـ CI؛ الأوامر المعتمدة على السجل ترى أقل

مثال

git clone --depth 1 <url>

اختيار الخيار المناسب

كامل مقابل سطحي

ما الذي يُنزَّل

الأمرالتاريخالأنسب لـ
git clone <url>كل شيءالعمل اليومي
git clone --depth 1 <url>آخر commit فقطبناء CI، نظرة سريعة

أمثلة

الاستنساخ عبر SSH

git clone git@github.com:acme/shop.git

ينشئ المجلد shop.


الاستنساخ عبر HTTPS

git clone https://github.com/acme/shop.git

الشيء نفسه عبر HTTPS.


اختيار اسم المجلد

git clone git@github.com:acme/shop.git my-shop

يستنسخ في my-shop.


استنساخ سطحي

git clone --depth 1 git@github.com:acme/shop.git

آخر commit فقط.

أمثلة على سير العمل

1
git clone git@github.com:acme/shop.git

تنزيله

2
cd shop

الدخول إليه

3
git switch -c feature/search

بدء عملك

حل المشكلات

Permission denied (publickey)

السبب: مفتاح SSH غير مُعَدّ على GitHub

أضف مفتاحك إلى GitHub، أو استنسخ بعنوان HTTPS

fatal: destination path 'shop' already exists

السبب: يوجد مجلد بهذا الاسم

اختر اسم مجلد آخر كوسيط ثانٍ

Repository not found

السبب: عنوان خاطئ أو لا صلاحية وصول

تحقّق من العنوان ومن صلاحياتك

نصائح وأخطاء شائعة

أفضل الممارسات

  • ✓استخدم عناوين SSH إن كنت تدفع كثيرًا.
  • ✓استخدم --depth 1 في مسارات CI.

أخطاء متكررة

  • ✗نسيان الدخول إلى المجلد الجديد بـ cd قبل تشغيل أوامر git.
  • ✗الاستنساخ داخل مستودع آخر.
  • ✗الاستنساخ مجددًا للتحديث — هذا عمل git pull.

الأسئلة الشائعة

A:

نعم، كفروع تتبّع بعيدة (origin/…). التبديل إلى أحدها ينشئ الفرع المحلي.

A:

git fetch --unshallow.