آشنایی با سامانه کنترل نسخه گیت (Git) - بخش اول

نصب گیت بر روی سیستم عامل دلخواه شما

برای نصب گیت بهترین کار این است که به صفحه رسمی دانلود آن به آدرس زیر بروید:

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

چرا از ترمینال استفاده کنیم؟

  • اولین دلیل این است که لزوماً همه ماشین هایی که شما با آن‌ها سر و کار دارید به رابط کاربری گرافیکی مجهز نیستند، مانند سرورها. بنابراین اگر یاد بگیرید از خط فرمان استفاده کنید به این معنی است که در همه جا و با هر ماشینی می توانید کار کنید.
  • دومین دلیل آن است که نسخه های گرافیکی گیت معمولاً دارای همه دستورات آن نیستند بلکه تنها زیر مجموعه ای از آنها را در اختیار شما قرار می دهند.

بنابراین دو دلیل، بهتر است اصول اولیه کار با ترمینال را بدانید. برای آن که بیش تر با ترمینال ها آشنا شوید و به حداقل آن چه را که به آن برای ادامه کار نیاز دارید، مجهز شوید؛ به مقاله زیر نگاهی بیاندازید:

تنظیم کردن گیت پس از نصب

به عنوان اولین کار باید ابتدا نام کاربری خود را به بخش تنظیمات گیت بدهید. برای این کار در ترمینال خود از دستور زیر استفاده کنید:

git config --global user.name “نام کاربری شما”

سپس برای درج ایمیل خود نیز از دستور زیر بهره ببرید

git config --global user.email “ایمیل شما”

همانطور که تا حالا متوجه شده اید، پرچم global این تنظیمات را به صورت سراسری برای تمامی مخازن گیت در نظر می گیرد.

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

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

cd <مسیر مورد نظر برای ایجاد پوشه ی مخرن گیت>
mkdir <نام پوشه مخزن گیت>
cd <نام پوشه مخزن گیت>

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

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

git init

در ادامه اگر «همه» محتویات پوشه را فهرست کنید، پوشه .git را (که به صورت پیش فرض پنهان است) در ترمینال خواهید دید.

ردیابی (tracking) فایل ها در گیت

اگر به خاطر داشته باشید، گیت نسخ گوناگون از فایل ها را نگه نمی دارد، بلکه تنها تغییرات آن ها را در گذر زمان ردیابی می کند. نکته مهم آن است که گیت هر آن چه شما بخواهید ردیابی می کند نه همه فایل ها را. برای این منظور باید حتماً فایل هایی که می خواهید تغییراتشان را ردیابی کنید، به گیت معرفی کنید. این کار با افزودن فایل ها به مخزن گیت رخ می دهد؛ جایی که مسئولیت نگه داری تغییرات فایل هایی را بر عهده دارد که برای ردیابی شدن به آن وارد شده اند.
در ادامه به بررسی وضعیت های چهارگانه فایل ها وپوشه ها در گیت می پردازیم:

ردیابی نشده (untracked)
این دسته را آن فایل ها و پوشه هایی تشکیل می دهند که برای ردیابی به گیت معرفی نشده اند یا ردیابی آن ها منتفی شده است.

دست نخورده (unmodified)

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

تغییر یافته (modified)

این مورد معرف وضعیت فایل ها و پوشه ها پس از اعمال تغییرات است.

آماده اعمال تغییرات(staged)

این وضعیت برای آن دسته از فایل ها و پوشه هایی است که تغییرات آن ها آماده پیوستن به تاریخچه مخزن گیت شما و برگشتن به وضعیت دست نخورده برای اعمال تغییرات جدید هستند.

دستور ردیابی فایل ها در گیت

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

git add <نام فایل>

اگر به جای نام فایل مورد نظر از نقطه استفاده کنید تمامی فایل هایی که در پوشه مخزن گیت قرار دارند به جز آن دسته که استثنا شده اند (که در مقالات بعدی بحث خواهد شد) به لیست فایل های در حال ردیابی افزوده شده و مستقیماً دارای وضعیت آماده برای اعمال تغییرات قرار می گیرند.

ایجاد فایل جدید در مخزن گیت و ردیابی آن

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

vi <نام فایل متنی>

به طور مثال:

vi new_file.txt

vi یا همان شکل مدرن تر و ساده تر ویرایشگر vim، یکی از قدیمی ترین و پرقدرت ترین ویرایشگرهای متنی است که تقریباً در هر ترمینالی هست. امروزه در لینوکس از ویرایشگر منعطف تر و ساده تر nano استفاده می شود.
در ادامه وارد پنجره vi می شوید و با فشردن کلید «i» خواهید توانست وارد وضعیت ورود اطلاعات (همان طور که در گوشه ی پایین و سمت چپ ویرایشگر با عبارت «INSERT» خواهید دید) شده و بعد از تایپ متنی دلخواه با استفاده از دکمه «Esc» به وضعیت خط فرمان رفته و فایل را با دستور زیر ذخیره کنید:

:wq

در دستور بالا حرف w و q به ترتیب نماینده ی «ذخیره کردن فایل» و «خارج شدن از ویرایشگر» هستند.

حال با استفاده از دستور زیر وضعیت کلی مخزن گیت را بررسی می کنیم:

git status

با اجرای دستور بالا، سه مورد مهم نمایش داده می شود:

  • اول آن که با عبارت «On branch master»  گیت به شما می گوید که شما در شاخه اصلی مخزن به سر می برید. شاخه ها و انواع آن را در مقالات بعدی به شما خواهم گفت.
  • دوم، عبارت «No commits yet» است که نشانگراین است که تا کنون تغییراتی در خط زمانی تاریخچه مخزن اعمال نشده است.
  • سوم هم فایل جدیدی را که ایجاد کرده اید، به رنگ قرمز و در قسمت فایل های ردیابی نشده (untracked files) نشان می دهد.

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

git add .

در ادامه با اجرای دستور وضعیت کلی مخزن، خواهید دید که فایل مورد نظر ما، در قسمت آماده برای اعمال تغییرات (Changes to be committed) و به رنگ سبز ظاهر می شود.

تفاوت فایل های staged  و unstaged

برای این که تفاوت این دو با هم ملموس تر شود، دوباره فایلی را که ویرایش کرده بودید، باز کرده و جمله ای به آن اضافه کنید. سپس دوباره وضعیت کلی مخزن را ببینید. حال در ترمینال، بخش جدیدی به نام «Changes not staged for commit» دیده می شود که در آن دقیقاً همان فایل با وضعیت modified وجود دارد. اگر هم اکنون دست به اعمال تغییرات بزنید، فایلی که قبلاً ایجاد کرده بودید به تاریخچه افزوده می شود نه فایلی که ویرایش کرده اید. لذا بار دیگز با افزودن فایل ویرایش شده برای ردیابی، تغییرات ناشی از ویرایش جای تغییرات قبلی تاشی از ایجاد فایل را گرفته و جایگزین آن می شود.

چرخه زندگی وضعیت فایل ها در گیت
چرخه زندگی وضعیت فایل ها در گیت
چرخه زندگی وضعیت فایل ها در گیت

در مقاله بعدی به نحوه اعمال و بررسی تغییرات در خط زمانی تاریخچه خواهیم پرداخت.

فهرست مقالات:

مقاله بعدی: