Forwarded from PhiloLearn | فیلولرن
گیت (Git) یک سیستم کنترل ورژن (Version Control System) هستش که لینوس توروالدز، خالق لینوکس، در سال ۲۰۰۵ اون رو توسعه داد. 🚀 توروالدز این سیستم رو برای مدیریت بهتر کد لینوکس ساخت، چون سیستمهای قبلی جوابگوی نیازهای تیمش نبودن. 😅
گیت به برنامهنویسها اجازه میده تغییرات کدشون رو تو فایلها ثبت و ردگیری کنن. 📂 هر تغییری که ثبت میشه یه «کامیت» (Commit) هستش که شامل یه تایماستمپ 🕰، نویسنده ✍️ و پیام توضیحی میشه. این سیستم باعث میشه بشه به راحتی فهمید چه کسی، چه تغییری رو، کی و چرا ایجاد کرده. 🤔
یکی از ویژگیهای اصلی گیت، برنچها (Branch) هستن. 🌿 برنچها به تیمها اجازه میدن روی فیچرهای مختلف به صورت موازی کار کنن. مثلاً یه برنچ برای فیکس باگها 🐞، یکی برای فیچرهای جدید ✨ و یکی هم برای تست. وقتی کار روی یه برنچ تموم میشه، میشه اون رو با برنچ اصلی (معمولاً main یا master) مرج کرد. 🔀
گیت از مدل Distributed استفاده میکنه، یعنی هر برنامهنویس یه کپی کامل از ریپوزیتوری (Repository) رو روی سیستم خودش داره. 💻 این باعث میشه حتی بدون اینترنت هم بشه کار کرد و تغییرات رو ثبت کرد. 🌍 بعداً وقتی به اینترنت وصل شدی، میتونی تغییراتت رو با ریموت (مثل گیتهاب یا گیتلب) سینک کنی. 🔄
دستورهای پایهای گیت که هر برنامهنویسی باید بلد باشه:
git init: شروع یه ریپوزیتوری جدید 🎉
git clone: کپی کردن یه ریپوزیتوری از ریموت 📥
git add: اضافه کردن فایلها به استیج 📝
git commit: ثبت تغییرات ✅
git push: آپلود تغییرات به ریموت ⬆️
git pull: دریافت آخرین تغییرات از ریموت ⬇️
git checkout: سوییچ بین برنچها 🔄
git merge: ترکیب دو برنچ 🔗
گیت از یه سیستم هوشمند برای تشخیص تغییرات استفاده میکنه که به جای ذخیره کل فایل در هر تغییر، فقط تفاوتها رو نگه میداره. 🧠 این باعث میشه حجم ریپوزیتوری کمتر بشه و سرعت کار بالاتر بره. ⚡️
برای کانفیگ گیت میتونی از فایل .gitconfig استفاده کنی. توش میشه تنظیمات مختلف مثل یوزرنیم 👤، ایمیل 📧، ادیتور پیشفرض 🖋 و الگوهای ignore 🛑 رو مشخص کرد. همچنین میشه برای هر ریپو یه کانفیگ جداگانه با فایل .git/config داشت. 📂
#Git #VersionControl #گیت #کنترل_ورژن
💙💙 @philoLearn 💙💙
گیت به برنامهنویسها اجازه میده تغییرات کدشون رو تو فایلها ثبت و ردگیری کنن. 📂 هر تغییری که ثبت میشه یه «کامیت» (Commit) هستش که شامل یه تایماستمپ 🕰، نویسنده ✍️ و پیام توضیحی میشه. این سیستم باعث میشه بشه به راحتی فهمید چه کسی، چه تغییری رو، کی و چرا ایجاد کرده. 🤔
یکی از ویژگیهای اصلی گیت، برنچها (Branch) هستن. 🌿 برنچها به تیمها اجازه میدن روی فیچرهای مختلف به صورت موازی کار کنن. مثلاً یه برنچ برای فیکس باگها 🐞، یکی برای فیچرهای جدید ✨ و یکی هم برای تست. وقتی کار روی یه برنچ تموم میشه، میشه اون رو با برنچ اصلی (معمولاً main یا master) مرج کرد. 🔀
گیت از مدل Distributed استفاده میکنه، یعنی هر برنامهنویس یه کپی کامل از ریپوزیتوری (Repository) رو روی سیستم خودش داره. 💻 این باعث میشه حتی بدون اینترنت هم بشه کار کرد و تغییرات رو ثبت کرد. 🌍 بعداً وقتی به اینترنت وصل شدی، میتونی تغییراتت رو با ریموت (مثل گیتهاب یا گیتلب) سینک کنی. 🔄
دستورهای پایهای گیت که هر برنامهنویسی باید بلد باشه:
git init: شروع یه ریپوزیتوری جدید 🎉
git clone: کپی کردن یه ریپوزیتوری از ریموت 📥
git add: اضافه کردن فایلها به استیج 📝
git commit: ثبت تغییرات ✅
git push: آپلود تغییرات به ریموت ⬆️
git pull: دریافت آخرین تغییرات از ریموت ⬇️
git checkout: سوییچ بین برنچها 🔄
git merge: ترکیب دو برنچ 🔗
گیت از یه سیستم هوشمند برای تشخیص تغییرات استفاده میکنه که به جای ذخیره کل فایل در هر تغییر، فقط تفاوتها رو نگه میداره. 🧠 این باعث میشه حجم ریپوزیتوری کمتر بشه و سرعت کار بالاتر بره. ⚡️
برای کانفیگ گیت میتونی از فایل .gitconfig استفاده کنی. توش میشه تنظیمات مختلف مثل یوزرنیم 👤، ایمیل 📧، ادیتور پیشفرض 🖋 و الگوهای ignore 🛑 رو مشخص کرد. همچنین میشه برای هر ریپو یه کانفیگ جداگانه با فایل .git/config داشت. 📂
#Git #VersionControl #گیت #کنترل_ورژن
💙💙 @philoLearn 💙💙