شما می توانید مخرن گیت را به یکی از دو روش زیر به دست آورید:
-
یک پوشه محلی که تحت نظارت کنترل نسخه نیست، آن را به مخرن گیت تبدیل می کنید
-
نسخه برداری کنید. (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 تمام گزینههای موجود برای را دسترسی به مخزن گیت را معرفی خواهد کرد و درباره مضرات و فواید هر کدام
توضیح خواهد داد.