Доброе утро, сейчас работаю один и процесс выглядит так:
- На локальном пк пишу код, тестирую и делаю git commit и git push
- На сервере делаю git pull
Теперь в команде появились еще пара разработчиков. Мой план такой:
- Каждый из них, получая задачу, создает под эту задачу ветку из master
- Коммитит в эту ветку
- Я эту ветку проверяю и мёржу в мастер
То есть у них не должно быть пушей в мастер и, как мне кажется, не должно быть доступа на сервер, чтобы был один ответственный за деплой человек.
Правильно ли я себе командную работу представляю?
Как уже советовали git-flow (например от Винсента Дрейзена). У разработчиков есть право мержить в dev свои ветки, поэтому request не нужны (они хороши при запросах от удаленных разработчиков), из dev собираете и прогоняете тесты ежедневно (CI), затем из dev собираете релиз и кидаете его в master, это уже делает отдельный человек. На сервере (если речь про прод) git быть не должно, должен быть нормальный CD. И да, никаких доступов к боевым у разработчиков. В остальном верно описали.