شروع کار با Git – راه اندازی یک مخزن یا Repository

شروع کار با Git – راه اندازی یک مخزن یا Repository

این آموزش مروری مختصری از مهمترین دستورات Git را را ارائه می دهد. نخست، راه اندازی بخش مخزن یا (Repository)، تمام ابزاری که لازم دارید یک در پروژه خود از کنترل نسخه استفاده کنید را توضیح می دهد. آنگاه در بخش های باقی مانده دستورات Git را معرفی می کنیم.

در پایان این مجموعه از آموزش، شما باید قادر باشید که یک مخزن (repository) را ایجاد کنید، و پروژه خود را ثبت کنید، و تاریخچه پروژه خود را مشاهده کنید.


 

git init

دستور git init یک مخزن جدید را ایجاد می کند. می تواند یک پروژه بدون نسخه را به مخزن گیت یا بهتر بگویم Git repository تبدیل کند و یا می توان یک مخزن خالی جدید ایجاد کرد. بیشتر دستورات Git در بیرون از محدوده مقدار دهی اولیه مخزن، قابل دسترس نیستند، بنابراین این اولین دستور شما است که پروژه شما را اجرا می کند.

اجرای git init یک دایرکتوری git. در ریشه پروژه شما ایجاد می کند، که شامل تمام متادیتا های مورد نیاز مخزن است. گذشته از دایرکتوری git. یک پروژه موجود بدون تغییر باقی می ماند (بر خلاف SVN، گیت نیاز به پوشه git. در تمام زیر دایرکتوری ندارد).

 

طریقه استفاده

تبدیل دایرکتوری جاری به یک مخزن Git. این دستور یک پوشه git. در دایرکتوری جاری ایجاد می کند که باعث می شود رکورد های پروژه را باز بینی کنیم.
یک مخزن خالی Git در پوشه مشخص ایجاد می کند. اجرای این دستور یک پوشه به نام  <directory> ایجاد می کند که حاوی چیزی جز زیر دایرکتوری git. نیست. توجه داشته باشید که به جای نام directory نام دلخواه می توان انتخاب کرد و اینکه وقتی این دستور اجرا می شود پوشه git. مخفی (hidden) است، مطمئن شوید که سیستم شما فایل های مخفی را نشان می دهد.
یک مخزن خالی Git را مقداردهی اولیه می کند، اما دایرکتوری را پاک می کند. مخازن به اشتراک گذاشته شده باید همیشه با پرچم bare-- ایجاد شود (بحث زیر را ببینید). بطور قرار دادی، مخازن مقداردهی اولیه شده با پرچم bare-- به git. ختم می شود. به عنوان مثال، یک نسخه ساده از یک مخزن با نام my-project به صورت my-project.git در دایرکتوری ذخیره می شود.

 

بحث

در مقایسه با SVN، دستور git init یک راه فوق العاده آسان برای ایجاد پروژه های جدید کنترل نسخه است. در Git شما نیازی ندارید که یک مخزن جدید ایجاد کنید یا فایلی را import کنید یا کپی از کار را بررسی کنید. تمام کاری که لازم است انجام دهید با استفاده از cd وارد دایرکتوری پروژه خود شوید و دستور git init را اجرا کنید، و شما خواهید دید که یک مخزن کاملا کاربردی را در اختیار دارید.

با این حال، برای بسیاری از پروژه ها، دستور git init فقط یک بار اجرا می شود تا مخزن مرکزی را ایجاد کند، توسعه دهنده ها به طور معمول از دستور git init برای مخزن های محلی خود استفاده نمی کنند. در عوض، آنها از git clone برای کپی کردن از مخزن موجود در سیستم خود استفاده می کنند.

 

مخازن خام یا Bare

دستور bare-- مخزنی ایجاد می کند که شامل کپی از پروژه نیست، که این کار باعث می شود ویرایش کردن و تغییرات (commit) غیر ممکن باشد. مخازن مرکزی باید همیشه به عنوان مخازن bare ایجاد شوند، به دلیل این که قرار دادن شاخه ای در یک مخزن غیر خام یا non-bare این پتانسیل را دارد که تغییرات را بازنویسی کند. فکر می کنم که bare-- یک راه برای نشانه گذاری یک مخزن به عنوان یک مرکز ذخیره سازی است، مخالف محیط توسعه است. این به این معنی است که تقریبا تمام گردش کار Git، مخزن مرکزی خام (bare) است، و توسعه دهندگان مخازن غیر خام (non-bare) هستند.

 

مثال

از آنجایی که git clone مناسب ترین راه برای ایجاد یک کپی از پروژه است، رایج ترین استفاده از git init ساخت یک مخزن مرکزی است:

ابتدا، در سرور خود از SSH استفاده کنید که شامل مخزن مرکزی شما است. آنگاه، به جایی که می خواهید پروژه شما در آن ذخیره شود حرکت کنید. در آخر، از دستور bare-- برای ایجاد مخزن ذخیره سازی مرکزی استفاده کنید.

توسعه دهندگاه برای ایجاد کپی از پروژه در سیستم خود به صورت زیر استفاده می کنند.

 

git clone

دستور git clone یک کپی از مخزن Git موجود تهیه می کند. این همانند svn checkout است، به جز “کپی کار” یک مخزن کامل Git است. دارای تاریخچه مجزا خودش می باشد، تمام فایل های خود را مدیریت می کند، و یک محیط کاملا مستقل از مخزن اصلی در اختیار می گذارد.

به عنوان راحتی در کار، شبیه سازی یا همان cloning بطور خودکار یک ارتباط از راه دور به نقطه منشاء به مخزن اصلی ترتیب می دهد. این کار باعث می شود به راحتی با مخزن اصلی تعامل داشته باشید.

 

طریقه استفاده

مخزن واقع در <repo> بر روی سیستم خود را clone کنید. مخزن اصلی می تواند در فایل سیستم محلی یا در یک سیستم راه دور قرار گیرد و از طریق HTTP یا SSH قابل دسترسی باشد.
مخزن واقع در آدرس <repo> در پوشه با نام <directory> بر روی سیستم را clone کنید.


 بررسی

اگر پروژه ای در حال حاظر در مخزن اصلی راه اندازی شده باشد، رایج ترین روش برای کاربرانی که قصد دارند کپی از توسعه داشته باشند، دستور git clone است. همانند git init، شبیه سازی یا cloning یک بار عملیات را اجرا می کند. هنگامی که توسعه دهنده کپی از کار را دارد، تمام عملیات کنترل نسخه و همکاری از طریق مخزن محلی خود اداره می شود.

 

مخزن به مخزن یا Repo-To-Repo

درک این مهم است که ایده ی Git برای کار با کپی بسیار متفاوت است با کار با کپی در مخزن های SVN. بر خلاف SVN، برنامه Git هیچ تمایزی بین کپی کار و مخزن مرکزی نمی گذارد. تمام آنها مخازن کامل Git می باشند.

این باعث می شود اساسا Git با SVN تفاوت داشته باشد. در حالی که SVN بستگی به رابطه بین مخزن مرکزی و کپی کار دارد، الگوی همکاری Git بر اساس مخزن به مخزن می باشد. به جای بررسی کپی کار در مخزن مرکزی SVN، از push یا pull برای commit کردن از یک مخزن به مخزن دیگر استفاده می کنید.

 

البته که، هیچ چیزی خاصی نمی تواند دسترسی شما به مخازن Git متوقف سازد. به عنوان مثال، به سادگی با تعیین یک مخزن Git به عنوان مخزن مرکزی، این امکان وجود دارد که یک گردش کار متمرکز با استفاده از Git تکرار کنیم که در درباره گردش کار مترکز یا Centralized workflow در پست های بعدی بیشتر آشنا می شویم. نکته این است، اینها از طریق کنوانسیون ها استفاده می کنند، به جای اینکه به VCS های خود متصل باشند.

 

مثال

مثال زیر نشان می دهد که چگونه می توانیم یک کپی محلی (local) از مخزن مرکزی ذخیره شده در سرور در example.com با نام کاربری john ایجاد کنیم:

دستور اول یک مخزن جدید Git را در سیستم شما با پوشه ای با نام my-project مقدار دهی اولیه می کند و با محتویات داخل مخزن مرکزی مقدار دهی می کند. آنگاه، می توانید با cd وارد پروژه خود شوید و فایل های خود را ویرایش کنید، و با دیگر مخزن ها تعامل داشته باشید. همچنین توجه داشته باشید که پسوند git. از مخزن clone شده حذف شده است. این نشان دهنده وضعیت non-bare بودن کپی است.

 

git config

دستور git config این اجازه را می دهد که نصب و راه اندازی Git (یا یک مخزن منحصر بفرد) را از طریق خط فرمان پیکربندی کنیم. این دستور می تواند همه چیز را از اطلاعات کاربر گرفته تا تنظیمات رفتار یک مخزن را تعیین کند. چند تا از پیکربندی های رایج در زیر آمده است.

 

طریقه استفاده

تعریف نام نویسنده برای استفاده در تمامی commit ها در مخزن جاری است. به طور معمول، شما می توانید از دستور global-- برای پیکریندی کاربر جاری استفاده کنید.
تعریف نام نویسنده برای استفاده در تمامی commit ها توسط کاربر جاری.
تعریف ایمیل نویسنده برای استفاده دز تمامی commit ها توسط کاربر جاری.
ایجاد یک میانبر یا shortcut برای یک دستور Git.
تعریف یا ثبت ویرایشگر با استفاده از دستورات مانند git commit برای تمام کاربران بر روی دستگاه جاری. آرگومان <editor> باید فرمان دهد که ویرایشگر مورد نظر راه اندازی شود، یه عنوان مثال ویرایشگر vi.
فایل تنظیمات سراسری یا global را برای ویرایش دستی در ویرایشگر باز می کند.


بررسی

تمام گزینه های تنظیمات در یک فایل متن ذحیره شده است، بنابراین دستور git config فقط یک رابط کاربری خط فرمان مناسب است. به طور معمول، شما فقط نیاز دارید که در بار اولی که می خواهید بر روی یک ماشین توسعه جدید ،کار را شروع کنید آن را پیکربندی کنید، و تقریبا در تمام موارد می توانید از دستور global-- استفاده کنید.

Git گزینه های پیکربندی را در سه فایل مجزا ذخیره می کند، که به شما این اجازه را می دهد که حوزه گزینه ها در مخزن منحصر بفرد یا، کاربران، یا کل سیستم را داشته باشید:

 

اگر هر کدام از این سه فایل را باز کنید، دستوراتی شبیه به زیر مشاهده می کنید:

شما می توانید بطور دستی مقدارها را دقیقا همانند git config تغییر دهید.

 

مثال

اولین چیزی که لازم دارید پس از نصب Git ، آن را انجام دهید، سفارشی کردن برخی از تنظیمات پیش فرض و وارد کردن نام و ایمیل خود است. پیکربندی های نمونه اولیه ممکن است شبیه به زیر باشد:

فایل gitconfig./~ را از بخش های قبلی تولید می کند.