** Этот вопрос был отклонен и определен как дубликат, хотя другой предложенный повторяющийся вопрос значительно отличается от моего сценария. Эта проблема заключается в том, как объединить уже существующие ветки. Мой вопрос заключается в том, как правильно/идеально изменить структуру проекта/добавить ветки для существующего проекта без веток. Я даже связался с другим вопросом, который точно такой же, как у меня, за исключением того, что у меня есть дополнительные вопросы, на которые в этом вопросе нет ответа.
Это, вероятно, довольно просто, но у меня чертовски много времени, чтобы выяснить рекомендуемый подход для добавления ветвления к существующему проекту в TFS2013, который никогда не использовал ветвление. Этот пост является той же проблемой (для TFS2010), но ответ оставляет некоторые вопросы.
Мой конкретный сценарий заключается в том, что у меня есть старый проект, у которого никогда не было ветвей и который не был настроен для ветвления. Из того, что я читал, кажется, что рекомендуется начинать с папок /main /dev и /releaseX /releaseY и сразу же преобразовывать их все в ветки, но этот корабль отплыл давным-давно. Компания, в которой я работаю, должна иметь возможность поддерживать ветки выпуска исправлений для клиентов, у которых много разных версий.
Одна из рекомендаций заключалась в том, чтобы просто преобразовать командный проект верхнего уровня в ветвь и рассматривать ее как основную ветвь. Это кажется хорошим, но я также читал, что вы не можете создавать какие-либо ветки внутри ветки, так как/где мне приступить к созданию веток выпуска?
Текущая структура выглядит так, а папки релизов — это то, что я имел в виду:
- server\default collection
- team project
- ...all the project's files and folders
- ReleaseBranches
- Release 1
- Выпуск 2
- team project
Итак, мне нужно создать папку «Главная», переместить в нее все файлы и папки проекта, превратить ее в ветку, а затем настроить выпускные ветки на этом уровне? Или есть способ преобразовать корневую папку в ветку и разместить под ней ветки релиза? Или мне нужно создать отдельный проект для каждой ветки? Или можно не иметь основной ветки и просто создавать ветки для релизов (я понимаю, что это, вероятно, не лучший вариант — это затруднит слияние)?
Это очень небольшая команда, и я хотел бы, чтобы изменения были как можно более простыми, и сделать так, чтобы команде было как можно проще объединять исправления ошибок из основной части в более старые выпуски. У меня есть еще одна мысль, как это может повлиять на установленную мной сборку CI. Если ветки существуют в коллекции проекта, смешанной с основным кодом, будет ли проверка ветки выпуска запускать сборку CI?