Как работает система контроля версий (для чайников)?
Возьмем например Linux. Уточняющие вопросы:
- как закрывается код в продакшн? Куча людей работает над разными вещами, правит чужой код. Как сливаются разносортные правки (во времени, по доделанности, по авторству)? Почему не возникает программных конфликтов при слиянии?
- как обеспечивается безопасность? Например я, плохой человек, полез внедрять фичу. По сути, я ее внедрил, но в свои тысячи кода я добавил неочевидные пакости (бекдоры или стучалки). Тщательно скрыв их за дебри
Конфликты возникают при слиянии веток и они в ручном режиме исправляются разработчиками. Код разбивается на ветки в большинстве случаев по готовности к использованию и присутствующем функционалу. Безопасность обеспечивается через код-ревью, то есть тщательное изучение кода, написанного другими участниками.
Все вопросы - административные, соответственно решаются административными методами, собственно vcs тут не при чем.
Одно из возможных решений, типовое.
1. Ответственный за текущий продакшен бранч собирает изменения в текущий релиз и мерджиться. Обязательно один, или группой уполномоченных лиц.
2. Регулярные код-ревью сессии
3. Организация внутри проекта может быть любой, ветка на фичу, тег на релиз... Но деплой версии собираются специально выделенной персоной, у нас, к примеру - это кто угодно по очереди.