Что то у Вас на схеме все в каше - и юзеры и ветки и среды.
Моё личное imho:
1) Почитайте про git flow
https://habrahabr.ru/post/106912/ - это крайне удачная модель ветвления
2) Использовать форки или нет - личное дело каждого.
Кто то любит что бы итоговый репозиторий выглядел просто и красиво - и тогда форки с rebase перед pull request сделают все хорошо.
Кто то (как я) любит что бы в репозитории был виден весь процесс разработки в realtime - у нас запрещены форки, разработчики явно делают все комиты в общий репозиторий. Но у нас достаточно детализированные задачи, никогда не бывает что бы над задачей работало больше 1 человека. В этом случае кстати лучше использовать mercurial, а не git.