Я руководитель группы в нашей компании по разработке веб-сайтов, и я хотел бы реализовать рабочий процесс Git в нашей команде. Чтение документации и статей Я нашел для нас следующую структуру:
У нас есть репозиторий в Bitbucket. Мастер считается, что он содержит только стабильный код. Каждый разработчик должен создать свою ветку и реализовать функции/исправления в своей ветке . Как только он решает, что его код готов, он создает приятную историю ветвей (используя переустановку, изменение, вишневый подбор и т.д.) И толкает ее в битбакет, где создает запрос на растяжение для овладения веткой. QA проверяет функциональность и одобряет (или не одобряет) ее, затем я проверяю код, и если все в порядке, я объединять его работу с мастером (путем быстрой перемотки вперед или переустановки для лучшей фиксации истории).
Но эта схема хороша только в случае, когда один разработчик работает на ветке. В нашем случае у нас почти всегда есть два разработчика для одной ветки, поскольку один разработчик работает на стороне сервера (PHP), а другой - на стороне клиента (HTML/CSS/JS). Как эти два должны сотрудничать таким образом, чтобы фиксация истории в мастер-классе оставалась чистой?
Сервер dev создает базовую структуру HTML файлов, и клиент-разработчик должен получить эту структуру. Логически было бы для сервера dev создать ветку, а для клиента dev - создать свою ветвь, основанную на ветке сервера dev. Но это означает, что серверный разработчик должен опубликовать свою ветку в Bitbucket, что сделает невозможным перезагрузку или изменение коммитов, которые уже опубликованы.
Другой вариант - подождать, пока сервер dev не завершит свою работу, издает ветку с хорошей историей фиксации и забывает об этом, и только после того, как этот клиент начнет работать в этой ветке, но это вызовет задержки во времени, что даже хуже.
Как вы обрабатываете такое сотрудничество в своих рабочих процессах?