معرفی Git — گیت چیست؟
با گیت، محبوبترین سیستم کنترل نسخه دنیا آشنا شوید؛ ابزاری که تاریخچه کد شما را نگه میدارد و کار تیمی را ممکن میکند.
گیت چیست؟
گیت (Git) یک سیستم کنترل نسخه (Version Control System) رایگان و متنباز است که به شما کمک میکند تغییرات فایلهای خود را — مخصوصاً کدها — ذخیره و مدیریت کنید.
تصور کنید روی یک پروژه بزرگ کار میکنید. هر بار که چیزی را تغییر میدهید، میخواهید مطمئن باشید اگر اشتباهی کردید، میتوانید به نسخه قبلی برگردید. یا میخواهید با همکارتان همزمان روی یک پروژه کار کنید بدون اینکه کار یکدیگر را خراب کنید. دقیقاً همینجاست که گیت به کمک شما میآید!
کنترل نسخه یعنی چه؟
کنترل نسخه (Version Control) یعنی نگهداشتن تاریخچه تغییرات فایلها بهصورت هوشمند، طوری که در هر لحظه بتوانید:
- ببینید چه چیزی تغییر کرده
- بدانید چه کسی تغییر را انجام داده
- بفهمید تغییر کِی و چرا انجام شده
- در صورت نیاز به نسخه قبلی برگردید
بدون گیت چه میشود؟ 😱
شاید تا حالا فایلهایی مثل این دیده باشید:
پروژه.zip
پروژه-نهایی.zip
پروژه-نهایی-واقعی.zip
پروژه-نهایی-واقعی-2.zip
پروژه-نهایی-واقعی-دست-نزن.zip
این روش «کنترل نسخه با کپی فایل» است! مشکلش این است که نمیدانید دقیقاً چه فرقی دارند، کدام آخرین نسخه است و اگر چیزی خراب شود، برگشتن تقریباً غیرممکن است.
گیت چه مشکلاتی را حل میکند؟
| مشکل | راهحل گیت |
|---|---|
| گم شدن نسخههای قدیمی کد | تاریخچه کامل همه تغییرات |
| ترس از خراب کردن کد | امکان برگشت به هر نسخه |
| کار همزمان چند نفر روی یک فایل | شاخهها (Branch) و ادغام (Merge) |
| نمیدانم چه کسی چه چیزی را تغییر داده | ثبت نام، زمان و پیام هر تغییر |
| از دست رفتن کد با خرابی هارد | نسخهپشتیبان روی سرور (مثل GitHub) |
گیت با GitHub چه فرقی دارد؟
یکی از رایجترین اشتباهات مبتدیها، اشتباه گرفتن گیت با گیتهاب (GitHub) است:
| گیت (Git) | گیتهاب (GitHub) |
|---|---|
| یک نرمافزار کنترل نسخه | یک سرویس آنلاین میزبانی مخازن گیت |
| روی کامپیوتر خودتان اجرا میشود | در فضای ابری (کلود) است |
| بدون اینترنت هم کار میکند | نیاز به اینترنت دارد |
| دستورات را در ترمینال مینویسید | با مرورگر کار میکنید |
| مشابه: Word | مشابه: Google Docs (جایی که فایلهای Word را نگه میدارید) |
گیت چطور کار میکند؟
گیت با مفهوم مخزن (Repository) کار میکند. یک مخزن گیت، پوشهای از پروژه شما بههمراه کل تاریخچه تغییراتش است:
- پروژه خود را در یک مخزن مقداردهی میکنید — گیت شروع به زیر نظر گرفتن فایلها میکند
- تغییرات را «کامیت» (Commit) میکنید — مثل عکس گرفتن از وضعیت فعلی پروژه در یک لحظه خاص
- هر کامیت یک شناسه منحصربهفرد دارد — میتوانید همیشه به آن لحظه برگردید
- مخزن را با دیگران به اشتراک بگذارید — با ارسال (Push) به مخزن راهور (Remote) مثل گیتهاب
چرا گیت اینقدر محبوب است؟
- سرعت بالا: اکثر عملیات بهصورت محلی و بسیار سریع انجام میشوند
- توزیعشده: هر توسعهدهنده یک نسخه کامل از تاریخچه را روی سیستم خود دارد
- شاخههای ارزان: ساخت شاخه جدید تقریباً هیچ هزینهای ندارد
- امنیت: هر تغییر با هش SHA-1 محافظت میشود — تغییر پنهانی تاریخچه غیرممکن است
- استاندارد صنعت: در آگهیهای شغلی تقریباً همیشه «آشنایی با گیت» شرط است
گیت کجا استفاده میشود؟
- 💻 پروژههای نرمافزاری: از اسکریپت کوچک تا سیستمعامل لینوکس
- 👥 کار تیمی: دهها یا صدها توسعهدهنده روی یک پروژه
- 📝 حتی فایلهای متنی: نوشتن کتاب، مدیریت یادداشت، فایلهای کانفیگ
- 🚀 استقرار (Deployment): انتشار خودکار سایتها با هر کامیت
در این دوره چه چیزی یاد میگیرید؟
- نصب و پیکربندی گیت
- ساخت مخزن و ثبت تغییرات (کامیت)
- مشاهده تاریخچه و مقایسه نسخهها
- کار با شاخهها و ادغام آنها
- اتصال به گیتهاب و همگامسازی
- مشارکت در پروژههای دیگران (Fork و Pull Request)
- خنثیسازی تغییرات و رفع اشتباهات
- مباحث پیشرفته: Rebase، Hooks، .gitignore و...
آمادهاید؟ بریم شروع کنیم! 🚀
این مبحث بخشی از دوره آموزش کامل Git است.