Задать вопрос
Haotik
@Haotik
PHP мидл без фреймворков

Как ораганизовать репозиторий для команды?

Добрый день.

Есть команда из нескольких человек. Требуется организовать совместную работу с контролем через гит.
Мне в целом понятно как работать группой над одним проектом, но специфика решаемых задач в том что проектов много и одновременно над ним работает только часть команды.

Если заводить каждый новый проект через отдельный репозиторий то их становится сложно отслеживать. + дополнительные сложности в том что бы постоянно добавлять и исключать оттуда людей.

Если же заводить один репозиторий в котором по папкам разделяются проекты система в какой то момент превращается в свалку так как в один комит могут попасть данные из разных проектов. Которые вообще то пересекаться не должны.

Кроме того иногда в команду приходят новые люди и пускать их сразу ко всему коду и наработкам компании не хотелось бы - т.е. нужно разграничение доступа.

И как то пазл не складывается =) Хочется и удобно и безопасно и т.д. )
Может кто нибудь подсказать книги / статьи по подобной организации работы ?
  • Вопрос задан
  • 345 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 2
sheerluck
@sheerluck
Так как приходят новые люди и им нужно показывать только часть кода -- то надо заводить новый отдельный репозиторий. Отслеживать их не сложно. Добавлять и исключать людей не сложно.
А свалку делать не надо.
Ответ написан
Комментировать
sloboda
@sloboda
Java QA Automation
Всё же лучше отдельные репозитории.
Или несколько отдельных репозиториев, сгруппированных по функционалу приложения, в которых будут подпапки.
У вас же каждый сотрудник работает в своем форке.
При внимательной организации code review и мержа только по результатам code review большой свалки в проектах и подпроектах быть не должно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
igolets
@igolets
Программист C#, MSSQL
Тут важный вопрос. Общие части системы можно редактировать, или нет?

Если нет — можно вынести их в отдельные репы, собирать из них nuget модули и публиковать в частном nuget репозитории.

Если нужно редактировать и хочется заморочиться, то можно сделать следующее:

  1. Сделать репозитории для небольших подсистем
  2. Для каждого проекта сделать по репозиторию, составить список подсистем, которые в нём используются и
  3. В репозиторий проекта добавить подсистемы через https://git-scm.com/book/en/v2/Git-Tools-Submodules
  4. Добавить код, уникальный для проекта в виде отдельных папок в репозитории проекта.
  5. Постараться не запутаться во всём этом великолепии и не сломать друг другу работу.


Ещё есть вариант отказаться от монолита, удариться в микросервисы. Тогда каждый кусок проекта будет независимым и можно будет его вынести в отдельную репу. Но тут может быть много работы по распилу монолита.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽