Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 6.62 KB

getting-a-repository.asc

File metadata and controls

95 lines (74 loc) · 6.62 KB

داشتن یک مخزن گیت

شما می توانید مخرن گیت را به یکی از دو روش زیر به دست آورید:

  1. یک پوشه محلی که تحت نظارت کنترل نسخه نیست، آن را به مخرن گیت تبدیل می کنید

  2. نسخه برداری کنید. (clone) از یک مخزن گیت موجود.

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

راه اندازی مخرن گیت در یک پوشه موجود

اگر شما یک پوشه از پروژه را دارید که هنوز تحت نظارت کنترل نسخه نیست و می خواهید که مدیریت نسخه های آن را به کمک گیت انجام دهید، در آغاز به پوشه اصلی پروژه بروید. اگر تا کنون این کار را نکرده اید، این کار به نظر می رسد بسته سیستم عامل شما کمی گوناگون باشد:

در لینوکس:

$ cd /home/user/my_project

برای مک:

$ cd /Users/user/my_project

در ویندوز:

$ cd C:/Users/user/my_project

و سپس در آنجا دستور زیر را بزنید:

$ git init

با زدن این دستور یک پوشه تاره به نام .git ساخته می شود که تمام فایلهایی که مخزن نیاز دارد — اسکلت یک مخزن گیت — را در برد دارد. تا ایجای کار، گیت تغییرات هیچ فایلی را دنبال نمی کند. (برای اینکه بدانید در پوشه .git که هم اکنون ایجاد کردید، چه فایلهایی وجود دارند، ch10-git-internals.asc را ببینید.)

اگر می‌خواهید شروع به کنترل نسخه فایل‌های موجود در پروژه کنید (مگر اینکه پوشه خالی باشد) شاید بهتر باشد که آنها را ترک یا مورد پیگیری قرار دهید و اولین کامیت یا کامیت ابتدایی را انجام دهید. شما می‌توانید با وارد کردن چند دستور git add مشخص کنید که چه فایل‌هایی ترک شوند و در اخر نیز آنها را با دستور git commit کامیت می‌کنید.

$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'

کمی جلوتر خواهید فهمید که دستورات بالا دقیقاُ چه کاری انجام می‌دهند. در حال حاضر ما یک مخزن گیت با فایل‌هایی که ترک شده‌اند و یک کامیت شروع داریم.

ساخت یک کلون از مخزن موجود

اگر می‌خواهید یک کپی کامل از یک مخزن از پیش موجود را داشته باشید — برای مثال، پروژه‌ای که علاقه دارید در آن مشارکت کنید-- دستوری که به آن احتیاج دارید git clone است. اگر کمی با دیگر نرم‌افزارهای کنترل نسخه آشنا باشید مانند ساب‌ورژن، متوجه‌ خواهید شد که دستور این فعل clone است، نه checkout،‌این یک تفاوت خیلی مهم است — به جای اینکه یک نسخه کپی از پروژه به دست آورید، گیت به طور مستقیم یک نسخه کامل از تمامی داده‌هایی که در سرور وجود دارد را تحویل می‌گیرد.

به صورت پیش‌فرض با اجرای دستور git clone هر نسخه‌ای از هر فایلی در تاریخچهٔ پروژه توسط گیت آورده می‌شود. در حقیقت اگر احیاناً دیسک سرور شما دچار مشکل گردد و اطلاعات از دست روند اکثرا شما این می‌توانید به طور مستقیم از هر کلون دیگری روی هر کلاینت دیگری استفاده کنید تا اطلاعات سرور را به همان حالتی که به هنگام کلون کردن بود بازگردد. (ممکن است بعضی از هوک‌های سرور و این قبیل اطلاعات از دست بروند اما تمام نسخه‌های کنترل شده خواهند ماند — برای جزئیات بیشتر ch04-git-on-the-server.asc را مطالعه کنید.)

با دستور git clone (url) یک مخزن را کلون می‌کنید. برای مثال، اگر بخواهید یک کتاب‌خانه گیت قابل لینک به نام libgit2 را کلون کنید، می‌توانید با این روش انجام دهید:

$ git clone https://github.com/libgit2/libgit2

با اجرای خط بالا در مرحله‌ی اول یک پوشه به نام libgit2 ساخته می‌شود، در پوشه libgit2 یک پوشه جدید به نام .git ساخته و مخزن گیت راه‌اندازی ‌می‌شود، تمام اطلاعات از مخزن اصلی دریافت می‌شوند و ما را به اخرین نسخه از پروژه چک‌اوت می‌کند. اگر وارد پوشه جدید libgit2 شوید، ‌خواهید دید که فایل‌های پروژه حاضر و آماده استفاده هستند.

اگر بخواهید مخزن مورد نظر را در پوشه‌ای با نام دلخواه خودتون بجای libgit2 کلون کنید، می‌توانید نام پوشه دلخواه را مانند دستور پایین به عنوان آرگومان اضافه مشخص کنید.

$ git clone https://github.com/libgit2/libgit2 mylibgit

دستور بالا مراحل قبل را انجام می‌دهد با این تفاوت که نام پوشه‌ای که ساخته می‌شود mylibgit خواهد بود.

گیت دارای تعداد زیادی پروتکل‌های انتقال است که شما می‌توانید از آن‌ها استفاده کنید. در مثال قبل از پروتکل //:https استفاده شد، اما شاید شما //:git یا user@server:path/to/repo.git نیز دیده باشید، که از پروتکل SSH استفاده می‌کند. در ch04-git-on-the-server.asc تمام گزینه‌های موجود برای را دسترسی به مخزن گیت را معرفی خواهد کرد و درباره مضرات و فواید هر کدام توضیح خواهد داد.