تعریف Git:
Git یک ابزار قدرتمند برای مدیریت ورژن فایلهای ایجاد شده توسط یک برنامه نویس است، اما خیلیها معتقدند که میتواند کمی گیجکننده باشد. با داشتنِ اطلاعات مناسب میتوانید ماهرانه از این نرم افزار استفاده کنید. با شروع آموزش،کمکم متوجه کاربرد گیت میشوید و دیگر برایتان گیجکننده نخواهد بود..
اولین چیزی که باید بدانید این است که گیت (Git) و گیت هاب (GitHub) متفاوت هستند. خیلیها این دو را یکی فرض میکنند. گیت هاب یک سایت هاست (Host) برای پروژههاست که از گیت استفاده میکند. گیت یک نوع (VCS) سیتم کنترل ورژن است که با آن میتوانید تغییرات اعمال شده در فایلها را سادهتر پیگیری کنید. به عنوان مثال اگر فایلی را ویرایش کنید، گیت میتواند دقیقاً به شما بگوید که چه چیزی تغییر کرده یا چه کسی آن را تغییر داده است و دلیلِ این تغییر چه بوده است.
Git برای هماهنگ کردن کارهایی که اعضای یک تیم روی یک پروژه کار میکنند، مفید است. همچنین میتوان با ذخیره آن پیشرفتِ پروژه را در هر زمان بررسی کرد. میتوان از گیت برای نوشتن یک مقاله استفاده کرد، یا وقتی که می بایست تغییراتِ اعمال شده در یک فایل هنری یا طراحی، پیگیری شود. بسیاری از برنامهنویسان روزانه از گیت استفاده میکنند و آموزش آن میتواند تأثیر خوبی بر روند کار داشته باشد.
در کارهای پیچیده، افراد بسیاری بطور همزمان فایلهای پروژه را تغییر میدهند و این مسئله میتواند گیجکننده باشد.
نرم افزار گیت به کمک این مشکل آمده است و میتوانید به سادگی علت وقوع این تغییرات را بفهمید و آنها را برطرف کنید.
روش استفاده از گیت:
گیت به صورت پیشفرض روی سیستم شما نصب شده است. اما اگر آن را ندارید میتوانید واسط خط فرمان
((Command-Line Interface (CLI) گیت را از این لینک دانلود کنید. اگر می خواهید از واسط کاربری گرافیکی استفاده کنید نرمافزار GitHub Desktop را انتخاب مناسبی است.
دستورات رایج
در زیر لیستی از دستورات رایج را میبینید که دربارهی وظایف هر یک توضیح داده شده است.
نکته: وقتی اولین بار از اصطلاحی فنی استفاده میکنیم، آن را به صورت bold بیاوریم. میتوانید توضیحاتی بیشتر دربارهی آنها را در Git Glossary یا Reference Guide پیدا کنید.
اولین Repository خودتان را از اول بسازید (در پوشهی دلخواهتان در کامپیوتر)
git init
با این دستور یک پوشهی .git مخفی (Hidden) در پوشهای ساخته میشود که دستور را در آن اجرا کردهاید. این پوشه همان Repository یا repo است که گیت تمام دادههای داخلیاش را در آن نگه میدارد. حالا میتوانید فایلهای موجود در پوشه اصلی را تغییر دهید و این تغییرات را پیگیری کنید.
دقت کنید که به پوشه اصلی Working Directory میگوییم و به پوشهی .git، Repository . پوشهی Repository مسئول نگهداری تغییراتی است که اعمال میکنید. شما فایلها را در Working Directory تغییر میدهید و در این پوشه کار میکنید.
یک repo موجود را Clone کنید
git clone https://github.com/cooperka/emoji-commit-messages.git
با اجرای این دستور، یک .git Repository از گیت هاب توسط اینترنت دانلود و در کامپیوتر شما ذخیره میشود و آخرین Snapshotهای ریپو (تمام فایلهای آن) را در Working Directory میریزد. تمام فایلها به صورت پیشفرض در پوشهای هم نام با Repo ذخیره میشوند (مثلاً در مثال بالا پوشهای با نام .(emoji-commit-messages)
URL ای که در این دستور مشخص میکنید، Remote Origin نامیده میشود.
git status
با اجرای این دستور اطلاعاتی اولیه را خواهید دید. مثلاً اینکه کدام فایلها اخیراً تغییر کردهاند. هر گاه دچار سردرگمی شدید، status را بررسی کنید. گیت بر اساس شرایط موجودِ پروژه، به شما اطلاعاتی درباره آن میدهد.
<git add <files
این دستور پس از تغییر فایلها، تغییراتتان را به صورت “staged” ذخیره میکند. اگر پس از اجرای این دستور، تغییرات بیشتری اعمال کنید، این تغییرات جدید به صورت خودکار “staged” نمیشوند. حتی اگر همان فایل قبلی را تغییر داده باشید. این دستور برای مشخص کردن چیزهایی که میخواهید کامیت کنید، مناسب است، اما ممکن است برای شروع کمی گیجکننده باشد.
در هر شرایطی اگر مطمئن نبودید، از دستور Status استفاده کنید. عبارت “Changes to be committed” را به رنگ سبز میبینید که در ادامه آن نام فایلها میآیند. زیر آن عبارت “Changes not staged for commit” را به رنگ قرمز میبینید که در ادامهی آن نام فایلها میآیند. این فایلهای قرمز هنوز “staged” نشدهاند.
git add README.md app/*.txt
این دستور فایل README.md و تمام فایلهای موجود در پوشهی app را، که پسوند .txt دارند، اضافه میکند. به صورت عادی هم میتوانید از دستور git add –all استفاده کنید. این دستور تمام فایلهای تغییریافته را اضافه میکند.
git commit
این دستور ویرایشگر متنِ خطِ فرمانِ پیشفرضتان را باز میکند و از شما میخواهد که یک Commit Message تایپ کنید. بعد از ذخیره و خروج، Commit شما به صورت محلی ذخیره میشود.
این پیغام کامیت به سایر اشخاص کمک میکند بفهمند که چه چیزی را تغییر دادهاید و دلیل آن چه بوده است.
<git push origin <branch-name
این دستور Branch شما را در Remote Origin ذخیره میکند (همان URLای که هنگام Clone کردن تعریف کردیم).
پس از یک عمل Push موفق، همتیمیهایتان میتوانند Branch شما را Pull و Commitهایتان را مشاهده کنند.
git fetch
این دستور آخرینِ اطلاعات موجود دربارهی Repo را از Origin دانلود میکند (مثل تمام Branchهای مختلفی که در گیت هاب ذخیره شدهاند). این دستور فایلهای محلی را عوض نمیکند. تنها دادههای موجود در پوشهی .git را بهروز رسانی میکند.
<git merge <other-branch-name
این دستور تمام Commitهای موجود در Branchای با نام other-branch-name را میگیرد و آنها را با Branch کنونی شما یکی میکند. در واقع این دستور از اطلاعاتِ Branchای که به صورت محلی ذخیره کردهاید، استفاده میکند. پس حتماً قبل از آن، برای دانلود جدیدترین اطلاعات، دستور
git fetch
را اجرا کنید.