2013-12-02 3 views
2

Моя цель состоит в том, чтобы иметь структуру, как это:TFS - Какая лучшая стратегия ветвления для этого сценария?

Project X 
-- Main 
-- QA 
-- Dev 
    -- Feature X 

В идеале, при работе над новой функцией, я хотел бы ответвляются «Главный» ствол и создать новый «Dev/Feature X» ветвь , Когда у меня есть функция, готовая к тестированию, я хотел бы переместить «Feature X» в «QA» с помощью инструмента слияния. Затем перейдите из ветви «QA» после ее завершения и тестирования. Как только это так, я хотел бы объединиться с «QA» в «Main».

Возможно ли это? Id нравится делать это без необоснованного слияния. Я не уверен, как структурировать ветви для достижения этого решения.

+0

Посмотрите это для получения дополнительной информации: http://stackoverflow.com/questions/5395867/how-can-i-branch-my-code-in-a-way-that-makes-testing-possible-without-contaminat ? rq = 1 –

ответ

3

Да, это возможно.

Вы бы расшириться Main к QA, затем разветвляется QA к Feature X, Feature Y и т.д.

Тогда дэвы код в Feature ветви, и когда функция завершена, слияние кода из художественного ответвления QA филиал. Важно также, чтобы разработчики периодически обращали обратную интеграцию от QA к своим филиалам функций, чтобы убедиться, что все последние изменения присутствуют и работают в их ветви dev.

Когда выпуск выполнен и протестирован в ветке QA, вы слейте его обратно на Main, а затем (если хотите) ответвление Main на ветку Release.

В этом случае Main должен всегда представляет собой абсолютно проверен, транспортируемый код - либо код, который вы только отгружен, или код, который вы о грузить. Никто не должен изменить Main без него (по крайней мере) QA отрасль.

В принципе, часть, которую вам не хватает, заключается в том, что ваш код должен всегда проходить через ветвь QA. Обычно я называю это подразделением «Интеграция» вместо «QA», но цель та же.

В ALM Рейнджерс есть awesome branching/merging guide - Я настоятельно рекомендую прочитать его!

+0

Конечно. Я получаю это, и я знаю, что это сработает. Я также думаю, что мы поедем по этому маршруту, но то, что я спросил, было бы возможно сделать все это, за исключением того, что ветвь Dev от Main до Feature X (а не QA для Feature X). Я предполагаю, что это не сработает, поскольку QA не будет «родителем» для Feature, поэтому TFS не позволит им позже объединить Feature X в QA. Это верно? – Travyguy9

+0

Правильно - это было бы необоснованное слияние. Рекомендуемый подход - это тот, о котором я говорил. –

+0

Хорошо, спасибо за информацию! – Travyguy9

Смежные вопросы