Chapters ▾ 2nd Edition

A3.2 پیوست C: دستورات گیت (Git Commands) - گرفتن و ایجاد پروژه‌ها (Getting and Creating Projects)

گرفتن و ایجاد پروژه‌ها (Getting and Creating Projects)

دو راه برای به‌دست آوردن یک مخزن Git وجود دارد. یکی کپی‌کردن آن از یک مخزن موجود روی شبکه یا مکان دیگری است و دیگری ایجاد یک مخزن جدید در یک شاخهٔ موجود است.

ایجاد مخزن گیت (git init)

برای تبدیل یک دایرکتوری به یک مخزن Git جدید تا بتوانید نسخه‌دهی را آغاز کنید، کافی است git init را اجرا کنید.

ما ابتدا این را در گرفتن یک مخزن گیت (Getting a Git Repository) معرفی می‌کنیم، جایی که ایجاد یک مخزن کاملاً جدید برای شروع کار را نشان می‌دهیم.

به‌طور خلاصه دربارهٔ چگونگی تغییر نام شاخهٔ پیش‌فرض از «master» در شاخه‌های راه دور (Remote Branches) صحبت کرده‌ایم.

ما از این دستور برای ایجاد یک مخزن خالی و bare برای یک سرور در قرار دادن مخزن خالی روی سرور (Putting the Bare Repository on a Server) استفاده می‌کنیم.

در نهایت، برخی از جزئیات کارهایی که در پشت صحنه انجام می‌دهد را در ابزارها و دستورات سطح پایین (Plumbing and Porcelain) بررسی می‌کنیم.

کلون گرفتن از گیت (git clone)

دستور git clone در واقع نوعی پوسته (wrapper) بر چندین دستور دیگر است. این دستور یک دایرکتوری جدید می‌سازد، وارد آن می‌شود و با اجرای git init آن را به یک مخزن خالی گیت تبدیل می‌کند، یک remote (با git remote add) به آدرسی که به آن می‌دهید اضافه می‌کند (به‌طور پیش‌فرض با نام origin)، از آن مخزن remote یک git fetch اجرا می‌کند و سپس آخرین commit را با git checkout در شاخه کاری شما (working directory) چک‌اوت می‌کند.

دستور git clone در سرتاسر کتاب در ده‌ها جا استفاده شده است، اما ما فقط چند مورد جالب را ذکر می‌کنیم.

در اصل در کلون کردن یک مخزن موجود (Cloning an Existing Repository) معرفی و توضیح داده شده است، جایی که چند مثال را مرور می‌کنیم.

در راه‌اندازی گیت روی یک سرور (Getting Git on a Server) گزینه --bare را برای ساختن یک نسخه از مخزن گیت بدون شاخه کاری بررسی می‌کنیم.

در بسته‌بندی (Bundling) از آن برای خارج‌سازی (unbundle) یک مخزن گیت بسته‌بندی‌شده (bundled) استفاده می‌کنیم.

در نهایت، در کلون کردن یک پروژه با ساب‌ماژول‌ها (Cloning a Project with Submodules) با گزینه --recurse-submodules آشنا می‌شویم تا کلون‌کردن یک مخزن حاوی submoduleها ساده‌تر شود.

گرچه در بسیاری از بخش‌های دیگر کتاب نیز استفاده شده است، این موارد تا حدی منحصر به فرد هستند یا در آنها به شیوه‌هایی کمی متفاوت به کار رفته است.

scroll-to-top