سلام به همگی
من یه چالشی دارم برای مدیریت کد ها و سطح دسترسی اعضای تیم به سورس پروژه.
در حال حاظر نرم افزار که روی اون کار میکنیم یه وبسایت هست که یه تیم دو سه نفره روش کار میکنن. یه نسخه از کدهای وبسایت روی یه vps آپلود شده که در واقع محل توسعه سایت هست و اعضای تیم به صورت ریموت کدها رو در همون سرور تغییر و توسعه میدن و بعد از تست با استفاده از git تغییرات به سرور اصلی و لایو ارسال میشه.
مشکل اینه که نرم افزاری که توسعه داده شده گرانقیمت هست و نمیتونیم دسترسی به کل سورس کد نرمافزار رو به همه برنامه نویسان بدیم . چون فضای جذب نیروی کار جوریه که برنامه نویسای مختفی وارد پروژه میشن و میرن و اینکه دسترسی به سورس کد رو به همه بدیم امکان پذیر نیست.
در حال حاضر افراد تیم دسترسی محدود به ماژول ها یا بخشهای خاص از کد رو دارن و کل سورس کد رو نمیبینن. چون کل کدها در یک مکان قرار داره این کار سادست و فقط به هر برنامه نویسی دسترسی به پوشه اون ماژول خاص داده میشه و باقی سورس کد رو نمیبینه.

یکی از مشکلاتی که این روش توسعه به وجود میاره اینه که اعضای تیم نمیتونن از git استفاده کنن. و در سیستم لوکال خودشون تغییرات و تستها رو انجام بدن و بعد push کنن.
بدون git و با بیشتر شدن تعداد اعضای تیم فرایند توسعه بسیار مشکل میشه و تداخل بسیار زیاد میشه.

چالش اصلی من اینه که چطور این مشکل رو حل کنم. یعنی بدون در اختیار گذاشتن کل سورس کد نرمافزار بتونیم با git کار کنیم و از مزیت های اون استفاده کنیم.

نمیدونم شرکت های بزرگ چه کاری میکنن. مطمعنا شرکت هایی مثل گوگل که سورس برنامهاشون رو نمیتونن به در اختیار همه برنامه نویسها قرار بدن. اگر هم فقط یک ماژول خاص رو در اختیار برنامه نویس بزارن که توسعه یک ماژول به تنهایی بدون تست در کنار باقی کد ها امکان پذیر نیست واقعا.

البته مایکرو سرویس ها یکی از راه حل ها هست ولی خب مشکلاتی هم داره که برای پروژه های کوچک تا متوسط منطقی نیست وارد اون فاز بشیم.

امیدوارم توضیحاتم واضح بوده باشه
ممنون میشم اگه دوستان تجربیاتشون و یا ایده هاشون رو در مورد در اختیارم قرار بدن.