Всем привет!
Пришло время начать использовать контроль версий для проектов. Прочитал хорошие материалы по git (
https://git-scm.com/book/ru/v1/,
https://habrahabr.ru/post/106912/) и получил представление об оптимальной модели работы в git, но практических навыков очень мало, пока споткнулся на том как увязать вместе ide, тестовый сервер и рабочий.
Мне очень понравилась модель описанная на хабре -
https://habrahabr.ru/post/106912/, но для меня осталось не ясным работа разных веток с серверами.
Для примера: есть несколько человек занимающихся разработкой сайта, им нужно параллельно вести работу, тестировать ее и при успешных тестах добавлять ее на рабочий сервер.
Каким образом построить такую работу? Что для этого необходимо иметь?
Верно я понимаю:
Необходимо иметь два сервера, один тестовый, другой боевой. Все ветки по разработке настраивать на тестовом сервере, а мастер уже выгружать на боевом?
Как происходит сам процесс работы? Разработчик создает свою ветку с dev, вносит изменения, но как потом он их тестирует? Ему нужно их залить на тестовый сервер в dev чтобы можно было потом оценить работоспособность его решения, но как тогда можно вести ветки типа Feature branches, когда не ясно когда они будут в проекте? Выходят такие ветки не добавляют в dev до необходимости, но как тогда оценить их работоспособность? Каждый разработчик клонирует проект себе на локальную машину и тестирует там? Нужно разворачивать для этого виртуальный сервер типа Open Server?
Наставьте на путь истинный, пожалуйста))))
Разработка планируется вестись на phpStorm + Bitbucked.
Был бы признателен если еще кто сможет привести ссылки на хорошие материалы по теме ведения проектов с git, каким образом выстроить рабочий процесс, как осуществлять настройки.
Спасибо!