در زیر ماژول های فردی (Admin-Panel) تغییراتی ایجاد کنید

اگر مشتری بخواهد تغییر در پانل مدیر شخصی آنها، شما به راهی برای اعمال به روزرسانی نیاز دارید بدون تأثیر سایر پروژه های مشتری که یکسان هستند زیر صفحه اصلیبشر در اینجا نحوه انجام آن آورده شده است:
رویکرد: برای هر مشتری از یک شعبه جداگانه استفاده کنید
از آنجا که پانل مدیر a است زیر، بهترین روش استفاده است شاخه برای ردیابی تغییرات سفارشی برای هر مشتری.
1⃣ یک شعبه جداگانه برای مشتری ایجاد کنید
اگر مشتری (به عنوان مثال ، مشتری) یک ویژگی سفارشی می خواهد ، شما باید ایجاد کنید شاخه جدید در داخل زیر مجموعه پانل مدیر:
cd client-project-A/admin-panel # Navigate into the submodule
git checkout -b client-a-customization # Create a new branch
اکنون ، تغییرات لازم را در زیر صفحه اصلی (به عنوان مثال ، اصلاح کنترل کننده ها ، اضافه کردن ویژگی های جدید).
2⃣ مرتکب و فشار دادن تغییرات
پس از اتمام تغییرات:
git add .
git commit -m "Custom changes for Client A"
git push origin client-a-customization # Push changes to remote
اکنون ، سفارشی نسخه پانل سرپرست برای مشتری A در client-a-customization
شاخه
3⃣ پروژه مشتری را برای استفاده از شعبه جدید تغییر دهید
بازگشت به پروژه مشتری و زیرمودول را برای استفاده از شعبه سفارشی به روز کنید:
cd client-project-A
git submodule update --remote --checkout
cd admin-panel
git checkout client-a-customization
حالا ، پروژه مشتری A از پانل مدیر سفارشی بدون تأثیر سایر مشتری ها استفاده می کند.
4⃣ دریافت به روزرسانی های جهانی (اختیاری)
اگر پانل مدیر اصلی (شعبه اصلی) ویژگی های جدیدی دریافت می کند و می خواهید آنها را در نسخه سفارشی مشتری A ادغام کنید ، این کار را انجام دهید:
cd client-project-A/admin-panel
git checkout client-a-customization
git pull origin master # Merge latest changes from the main branch
این به مشتری A اجازه می دهد از پانل Admin Global Admin به روزرسانی کنید در حالی که آنها را نگه می دارد ویژگی های سفارشیبشر
جایگزین: از پرچم های ویژگی برای سفارشی سازی استفاده کنید
به جای ایجاد شاخه های جداگانه ، می توانید یک سیستم پیکربندی داخل پنل سرپرست که در آن هر مشتری می تواند ویژگی ها را به صورت پویا فعال یا غیرفعال کنید از طریق تنظیمات پایگاه داده یا متغیرهای محیط.
مثال:
- لیست لیستی از ویژگی های فعال شده در پایگاه داده برای هر مشتری.
- استفاده کردن ظروف میانبر یا سیاست ها برای نشان دادن/پنهان کردن ویژگی ها بر اساس پیکربندی مشتری.
thoughts افکار نهایی
- ✅ از شاخه های گیت جداگانه استفاده کنید برای سفارشی سازی هر مشتری.
- ✅ اطمینان حاصل کنید که هر پروژه مشتری شعبه صحیح را بررسی می کند برای زیرمجاز پانل مدیر آنها.
- ✅ به روزرسانی ها را از شعبه اصلی پانل ادغام کنید در صورت لزوم
- ✅ برای انعطاف پذیری بیشتر پرچم های ویژگی را در نظر بگیرید به جای حفظ چندین شاخه.
این روش تضمین می کند حفظ قابلیت در حالی که به هر مشتری اجازه می دهد تغییرات پانل منحصر به فرد خود را داشته باشد. 🚀 اگر به جزئیات بیشتری نیاز دارید به من اطلاع دهید!