گیت چیست و چرا باید یادش بگیریم؟
مقدمه
اگر تا حالا در یک پروژه برنامهنویسی کار کرده باشید، احتمالاً با این مشکل مواجه شدهاید که چطور تغییرات را مدیریت کنیم تا چیزی خراب نشود؟ یا اگر تیمی کار کنید، چطور همه اعضا روی یک کد همکاری کنند بدون اینکه کدهای همدیگر را خراب کنند؟
اینجاست که گیت (Git) وارد ماجرا میشود.
گیت یک سیستم کنترل نسخه توزیعشده (Distributed Version Control System) است که در سال ۲۰۰۵ توسط لینوس توروالدز (خالق لینوکس) ساخته شد تا توسعه هسته لینوکس را بهتر مدیریت کند.
چرا گیت مهم است؟
- تاریخچه کامل پروژه را ذخیره میکند.
- میتوانید به نسخههای قبلی برگردید.
- همکاری تیمی را ساده میکند.
- بدون اینترنت هم میتوانید روی کد کار کنید.
- تقریباً تمام شرکتهای نرمافزاری از آن استفاده میکنند.
گیت در برابر SVN یا سایر سیستمها
قبل از گیت، ابزارهایی مثل SVN و Mercury محبوب بودند. تفاوت اصلی گیت با آنها این است که در گیت، کل تاریخچه پروژه روی سیستم هر توسعهدهنده ذخیره میشود، در حالی که در SVN فقط یک نسخه روی سرور اصلی نگهداری میشود.
این باعث میشود گیت:
- سریعتر باشد
- بدون اینترنت هم کار کند
- امنتر باشد (چون نسخههای زیادی از پروژه وجود دارد)
مفاهیم کلیدی گیت
برای کار با گیت، باید چند اصطلاح پایهای را بشناسید:
اصطلاح | توضیح |
---|---|
Repository (مخزن) | جایی که گیت فایلها و تاریخچه تغییرات را ذخیره میکند. |
Commit | یک اسنپشات از تغییرات شما در پروژه. |
Branch | شاخهای مستقل از کد که میتوانید روی آن کار کنید بدون اینکه نسخه اصلی را تغییر دهید. |
Merge | ادغام تغییرات یک شاخه با شاخه دیگر. |
نصب و شروع کار
در پست بعدی یاد میگیریم چطور گیت را روی سیستم نصب کنیم و اولین پروژه خودمان را با آن بسازیم.
تمرین کوچک
۱. در اینترنت جستجو کنید که لینوس توروالدز چرا گیت را ساخت.
۲. اگر گیت را نصب ندارید، سیستمعامل خود را یادداشت کنید تا در پست بعدی بر اساس آن نصب کنید.
۳. یک مثال از تجربه شخصی خودتان پیدا کنید که اگر گیت داشتید، کارتان راحتتر میشد.
💡 نکته: اگر تازهکار هستید، نگران تعداد دستورات گیت نباشید. اول با چند دستور پایه شروع میکنیم و بعد کمکم حرفهای میشویم.