آشنایی با گیت
کنترل نسخه چه مسئلهای را حل میکند، گیت از کجا آمد و چگونه آن را نصب و برای کار آماده کنید.
آنچه در این درس میآموزید
- بدانید کنترل نسخه (Version Control) چه مسئلهای را حل میکند
- با تاریخچه کوتاه گیت و سه حالت اصلی آن آشنا شوید
- گیت را نصب و هویت کاری خود را تنظیم کنید
فهرست مطالب
هر پروژهٔ نرمافزاری روزی به این نقطه میرسد: فایلی به نام «نسخهٔ نهایی»، «نسخهٔ نهایی ۲» و «نسخهٔ نهایی واقعی» کنار هم نشستهاند و کسی یادش نیست کدام کار میکند. یا بدتر، همتیمی شما روی همان فایلی کار کرده که شما هم تغییرش دادهاید و یکی از دو نسخه از دست رفته است. کنترل نسخه (Version Control) ابزاری است که دقیقاً برای همین مسئله ساخته شده: ثبت تاریخچهٔ تغییرات، بازگشت به گذشته و کار گروهی بدون از دست رفتن کار هیچکس.
گیت (Git) پرکاربردترین سیستم کنترل نسخهٔ دنیاست. در این درس میبینیم گیت دقیقاً چه کاری میکند و آن را روی سیستم خودتان راهاندازی میکنیم تا در درس بعدی نخستین دستورهای عملی را اجرا کنید.
کنترل نسخه چه کار میکند؟
یک سیستم کنترل نسخه سه کار اصلی برای شما انجام میدهد:
- ثبت تاریخچه — در هر مرحلهٔ معنادار از کار، یک «کامیت» (Commit) از وضعیت پروژه ذخیره میکنید؛ چیزی شبیه عکس گرفتن از کل پوشهٔ پروژه در آن لحظه.
- بازگشت به گذشته — اگر تغییر تازهای همه چیز را خراب کرد، میتوانید بدون ترس به هر نقطهٔ قبلی برگردید.
- همکاری موازی — چند نفر میتوانند همزمان روی یک پروژه کار کنند و گیت تغییرات را با هم ترکیب کند و برخوردها را مشخص کند.
گیت از کجا آمد؟
گیت را لینوس توروالدز، سازندهٔ لینوکس، در سال ۲۰۰۵ برای مدیریت توسعهٔ هستهٔ لینوکس ساخت. توسعهٔ هسته با صدها مشارکتکننده انجام میشود و ابزارهای آن زمان پاسخگو نبودند؛ پس توروالدز در چند هفته سیستمی نوشت که سریع باشد و هر نفر یک کپی کامل از تاریخچهٔ پروژه را روی سیستم خودش داشته باشد. از همین ریشه، گیت یک سیستم «توزیعشده» (Distributed) است: مخزن کامل پروژه روی سیستم هر توسعهدهنده وجود دارد و اینترنت فقط برای همگامسازی کپیها لازم است.
سه حالت اصلی گیت
گیت فایلهای شما را در سه ناحیه مدیریت میکند و فهم همین سه ناحیه، نیمی از فهم گیت است:
- پوشهٔ کاری (Working Directory) — همان فایلهایی که در ادیتور میبینید و ویرایش میکنید.
- ناحیهٔ آمادهسازی (Staging Area) — فهرست تغییراتی که انتخاب کردهاید تا در نُهنگ بعدی ثبت شوند.
- مخزن (Repository) — پوشهٔ پنهان
.gitکه تاریخچهٔ همهٔ کامیتها را برای همیشه نگه میدارد.
گردش کار همیشگی گیت چنین است: فایل را ویرایش میکنید، تغییرات را با دستور git add به ناحیهٔ آمادهسازی میبرید و با دستور git commit آنها را با یک پیام توضیحی در مخزن ثبت میکنید. این چرخه را در درس «فرمانهای پایه» بارها تمرین خواهید کرد.
نصب گیت
نصب بر پایهٔ سیستمعامل فرق میکند:
- ویندوز — نصبکنندهٔ رسمی را از سایت git-scm.com بگیرید و با تنظیمات پیشفرض جلو بروید.
- لینوکس (اوبونتو/دبیان) —
sudo apt install git - macOS — با اجرای اولین دستور git در ترمینال، در صورت نبودن، سیستم نصبش را پیشنهاد میدهد؛ یا ابزار خط فرمان Xcode را با
xcode-select --installنصب کنید.
بعد از نصب، نسخه را بررسی کنید:
git --versionنمونهٔ خروجی:
git version 2.46.0تنظیم هویت کاری
گیت در هر کامیت نام و ایمیل نویسنده را ثبت میکند تا مشخص باشد هر تغییر کار چه کسی بوده است. این تنظیم را یک بار برای همیشه انجام دهید:
git config --global user.name "Sara Mohammadi"
git config --global user.email "sara@example.com"
git config --global init.defaultBranch mainسطر سوم نام شاخهٔ پیشفرض پروژههای تازه را روی main میگذارد تا با عرف رایج امروزی (از جمله گیتهاب) هماهنگ باشد. برای دیدن مقدار ثبتشده، همان کلید را بدون مقدار صدا بزنید:
git config --global user.emailنمونهٔ خروجی:
sara@example.comتمرینها
تمرین
تمرین ۱ — آمادهسازی محیط
گیت را نصب کنید، هویت خود را با user.name و user.email تنظیم کنید و سپس با یک دستور، مقدار ذخیرهشدهٔ نام خود را در ترمینال چاپ کنید. نام شاخهٔ پیشفرض را هم روی main بگذارید.
# Write your commands hereنمایش راهحل
git config --global user.name "Ali Ahmadi"
git config --global user.email "ali@example.com"
git config --global init.defaultBranch main
git config --global user.nameنمونهٔ خروجی:
Ali Ahmadi:::
خلاصه
- کنترل نسخه یعنی ثبت تاریخچهٔ تغییرات، امکان بازگشت به گذشته و همکاری موازی.
- گیت سیستمی توزیعشده است که سال ۲۰۰۵ توسط لینوس توروالدز ساخته شد.
- گیت فایلها را در سه ناحیه مدیریت میکند: پوشهٔ کاری، ناحیهٔ آمادهسازی و مخزن.
- با
git config --globalنام، ایمیل و شاخهٔ پیشفرض خود را تنظیم کنید؛ روی ویندوز از Git Bash کار بگیرید.
حالا که گیت نصب است و هویت شما ثبت شده، در درس بعدی نخستین مخزن را میسازیم و چرخهٔ add و commit را اجرا میکنیم.