استفاده از submodules در git
یکی از امکانات جالبی که در git موجود هست که من هم تازه باهاش آشنا شدم، امکانی به اسم Submodules هست.
این ویژگی به شما این امکان رو میده که کدهای خود رو به پروژه های مختلف تقسیم کنید.
بطور مثال فرض کنید شما یک کامپوننت نوشتید که در برنامه های مختلف شرکت از اون استفاده میشه. راه ساده ای که وجود داره اینه که اون کامپوننت رو در پروژ های مختلف کپی کنید.
روشی که این قابلیت در اختیار شما میزاره به این صورت هست که میتونید کامپوننت خودتون رو بصورت جدا گسترش بدید تا هم تاریخچه جدا داشته باشه، هم در صورت آپدیت شدن نیاز نباشه در پروژه های مختلف اون رو بصورت دستی کپی کنید.
برای اضافه کردن Submodules به یک پروژه نیاز هست دستور زیر رو وارد کنیم:
git submodule add https://github.com/MHKarami97/Submodules
در کد بالا قسمت بعد از add
آدرس ماژول شما هست که میخواید به پروژه فعلی اضافه کنید.
با این کار پروژه ای که لینکش رو در بالا وارد کردید و همچنین فایل gitmodules
به پروژه شما اضافه میشه.
این فایل دوم در واقع یک مپ بین فایل لوکال و ریموت submodules هست.
برای اضافه کردن یک ماژول دیگه هم میتونید به همین صورت عمل کنید:
بعد از اینکار تغییرات گیت برای پروژه اصلی بصورت زیر نشون داده میشه که میتونید کامیت کنید:
حالا اگه تغییری در فایل های ماژول ها بدید، تغییرات اونها هم در پروژه اصلی و هم پروژه های ماژول نشون داده میشه:
تنها نکته ای که هست اینه که برای کامیت اول باید تغییرات رو در ماژول ها کامیت کنید و بعد اجازه کامیت در پروژه اصلی رو دارید.
اگر یکی از ماژول تغییر کرده باشن، میتونید فقط اون پروژه رو pull کنید:
برای کلون کردن پروژه اصلی که از ماژول های دیگه داخلش استفاده شده، علاوه بر دستور git clone ...
که فایل های پروژه اصلی رو میگیره، نیاز به اجرای دستور زیر هم هست:
git submodule init
و سپس برای آپدیت کردن و دریافت آخرین نسخه ماژول ها دستور زیر رو وارد کنید:
git submodule update
ماژول های در ادیتور Rider :
با این کار پروژه شما آماده استفاده هست.
داکیومنت اصلی:
لینک پروژه های ساخته شده: