Это, по-видимому, обычная тема для этого трехуровневого рабочего процесса. Вот как мы это сделали. Мы - магазин Ruby, так что здесь есть кое-какие тесты.
Мы все работаем над индивидуальными «историями» (от Pivotal Tracker) отдельно друг от друга. Это означает, что если бы мы все взяли на себя ответственность за ведущий, то мы бы постоянно наступали друг на друга. Чтобы остановить эту проблему, каждый из нас создает новую ветку (основанную на последнем хозяине) для этой конкретной части работы.
Когда мы завершаем, что кусок работы, мы запускать тесты сами, и если они переходя затем они сливаются обратно в мастере отрасли, где тесты побежали снова, чтобы гарантировать, что нет никаких обрывов, которые были введены , Если бы мы были, попробуйте использовать git bisect
, чтобы выяснить, что это было, и это работает в 99% случаев.
В большинстве случаев (потому что мы действительно классные *), тесты проходят. Когда все тесты проходят на главной ветке, мы развертываем их на нашем промежуточном сервере. Поэтому я предполагаю, что это означает, что мастерisэтап филиал. Когда эта функция (или, более вероятно, функции) получила одобрение, мы сменим эти изменения на ветвь , а затем переместим эту ветвь на производственный сайт.
С помощью этой установки отдельные разработчики могут иметь исполняемую копию приложения для себя, команда QA получает текущую копию, чтобы перейти, когда у нее есть время (это «самая забавная» часть моя работа, сбор людей похож на пасущихся кошек), а у Real World есть идеальный сайт.
В теории, во всяком случае. Люди ошибаются.
У вашей среды есть другой код? Если они все одинаковые, я не вижу причин для ветвления, просто клонирует. – alternative