Clone — دریافت کامل مخزن از گیت‌هاب

دانلود کامل مخزن با git clone: تاریخچه، شاخه‌ها و تنظیمات — به‌همراه گزینه‌های کاربردی مثل clone سطحی.

git clone چیست؟

git clone یک کپی کامل از مخزن ریموت روی کامپیوتر شما می‌سازد — شامل همه فایل‌ها، کل تاریخچه کامیت‌ها، همه شاخه‌ها و تنظیمات. بعد از clone، مخزن کاملاً محلی کار می‌کند (حتی بدون اینترنت!).

کلون کردن یک مخزن

  1. در گیت‌هاب، دکمه سبز Code را بزنید
  2. تب SSH (یا HTTPS) را انتخاب و آدرس را کپی کنید
  3. در ترمینال:
git clone git@github.com:username/my-project.git

خروجی:

Cloning into "my-project"...
remote: Enumerating objects: 42, done.
Receiving objects: 100% (42/42), done.
Resolving deltas: 100% (18/18), done.

پوشه my-project ساخته شد — واردش شوید و کار کنید:

cd my-project
git log --oneline
# کل تاریخچه همین‌جاست!

کلون در پوشه با نام دلخواه

git clone git@github.com:username/my-project.git my-folder

مخزن در پوشه my-folder کلون می‌شود (به‌جای my-project).

کلون یک شاخه خاص

git clone -b feature-search git@github.com:username/my-project.git

فقط شاخه feature-search کلون می‌شود (البته بقیه شاخه‌ها هم در ریموت موجودند).

کلون سطحی (Shallow Clone)

مخازن بزرگ (مثل لینوکس با چند گیگ تاریخچه) را می‌توان فقط با آخرین کامیت‌ها کلون کرد:

# فقط آخرین کامیت:
git clone --depth 1 git@github.com:username/big-project.git

# فقط ۵۰ کامیت آخر:
git clone --depth 50 git@github.com:username/big-project.git

خیلی سریع‌تر و سبک‌تر — برای دیدن کد عالی، برای توسعه کامل نه.

بعد از clone چه داریم؟

git remote -v
# origin  git@github.com:username/my-project.git (fetch)
# origin  git@github.com:username/my-project.git (push)

git branch -a
# * main
#   remotes/origin/main
#   remotes/origin/feature-search

clone از کجا؟

منبعمثال
گیت‌هاب (SSH)git@github.com:user/repo.git
گیت‌هاب (HTTPS)https://github.com/user/repo.git
گیت‌لبgit@gitlab.com:user/repo.git
سرور محلی/شبکهgit@192.168.1.10:/path/repo.git
پوشه محلیgit clone /path/to/repo

init یا clone؟

git initgit clone
پروژه جدید از صفرپروژه موجود را دریافت می‌کنید
تاریخچه خالی شروع می‌شودکل تاریخچه کپی می‌شود
ریموت ندارید (بعداً add کنید)ریموت origin آماده است

خلاصه

این مبحث بخشی از دوره آموزش کامل Git است.

ابزارهای مرتبط