TFS2010, возможно ли создать ветку задним числом? - PullRequest
3 голосов
/ 15 сентября 2011

Я использую TFS2010 всего несколько месяцев, так что относительно новичок, и теперь, возможно, нужно создать мою первую ветку, к сожалению, мне нужно создать ее из более старого набора изменений, возможно ли это?

Базовый сценарийЯ конвертировал проект из VSS 6.0 с историей, и все прошло хорошо.Проект содержит около 500 исходных файлов.

До преобразования из VSS мы начали работать над версией 4.0 нашего проекта, не планируя выпускать больше исправлений ошибок до 3.1, поэтому в то время мы не создавали никаких веток..

Итак, мы внесли существенные изменения в примерно 20 файлов (которые я могу определить), но теперь клиент хочет выпустить 3.11, 3.2, 3.3 и т. Д., Потому что не все будут готовы перейти на продукт 4.0 в любое время.скоро.

Я думаю, что мы хотим создать ветку, а затем использовать TFS для отката около 20 файлов в этой ветке к более старой версии, это возможно сделать?Создать ветку оттуда, где мы сейчас находимся, а затем откатить некоторые файлы?или создание ветки приводит к потере истории для этой ветви?

Немного усложняется то, что после того, как мы начали работать над 4.0, помимо внесения изменений, специфичных для 4.0, у нас также есть несколько изменений, которые мы должны были внестизайдите в ветку 3.1 и останьтесь в ветке 4.0, над которой мы сейчас работаем, и более того, и исправления ошибок, которые нам нужно будет внести в течение следующих нескольких месяцев, должны будут применяться к обеим веткам.

ВозможноЭто довольно простой пример использования TFS, но я просто хотел убедиться, что я не испортил то, что уже отлично работает.

Предложения?

Ответы [ 3 ]

6 голосов
/ 15 сентября 2011

Вы можете создать ветку из любого набора изменений, и это очень просто из пользовательского интерфейса Source Control Explorer. Просто перейдите с помощью Source Control Explorer на путь к серверу, который вы хотите разветвить, выберите ответвление, и тогда вам будет предоставлена ​​опция «Разветвление от версии». Просто выберите любой набор изменений, из которого вы хотите создать ответвление, и вместо него будет создана новая ветвь вместо значения по умолчанию для последней версии.

2 голосов
/ 15 сентября 2011

Почему бы вам не выбрать подходящую базовую версию с «Get Specific Version», которая вызовет источники в нужном вам состоянии - вашей версии 3.1.

Затем создайте ветку, чтобы продолжить работук 3.1x

Выполнение 'Get Latest' в вашей базовой ветке должно привести к вашим источникам в версии 4.0

1 голос
/ 05 февраля 2013

Я только что сделал это.

Я начал свое решение с одного командного проекта филиала в codeplex:

MyPrettyCMS / База данных

MyPrettyCMS / Framework

MyPrettyCMS / Layers

MyPrettyCMS / Порталы

MyPrettyCMS / решение

Невозможно создать ветку командного проекта

ВНИМАНИЕ! Я попытался преобразовать папку Team Project в ветку, это сработало, но после этого я не могу создать какую-либо ветку и у меня не было достаточно прав, чтобы отменить это (мне пришлось попросить администратора Code Plex TFS отменить для меня). 1027 *

Все это должно быть сделано с помощью Team Explorer, а не с Solution Explorer.

Итак, я создал подпапку папки командного проекта CurrentRelease, как это

MyPrettyCMS / База данных

MyPrettyCMS / Framework

MyPrettyCMS / Layers

MyPrettyCMS / Порталы

MyPrettyCMS / решение

MyPrettyCMS / CurrentRelease

Затем для каждой папки я использовал команду перемещения обозревателя команды (НЕ ПЕРЕМЕЩАЙТЕ ПАПКИ с проводником Windows, даже если у вас есть подключаемый модуль, потому что иногда он выходит из строя).

Результат

MyPrettyCMS / CurrentRelease / База данных

MyPrettyCMS / CurrentRelease / Framework

MyPrettyCMS / CurrentRelease / Слои

MyPrettyCMS / CurrentRelease / Порталы

MyPrettyCMS / CurrentRelease / решение

На данный момент вы должны заархивировать каждую подпапку CurrentRelease

Теперь вы открываете проводник Windows и проверяете каждую папку и ее потомок, чтобы увидеть, не забыли ли вы какие-либо файлы. Если вы это сделали, скопируйте его в новую папку, добавьте в архив с помощью команды Добавить файлы из Team Explorer. Вы должны снова заархивировать.

Щелкните правой кнопкой мыши команду MyPrettyCMS / CurrentRelease и выберите команду создать ветвь

Я использовал CurrentRelease-To-2-50-001 в качестве имени филиала

Тогда у меня есть

MyPrettyCMS / CurrentRelease / База данных

MyPrettyCMS / CurrentRelease / Framework

MyPrettyCMS / CurrentRelease / Слои

MyPrettyCMS / CurrentRelease / Порталы

MyPrettyCMS / CurrentRelease / решение

и

MyPrettyCMS / CurrentRelease-To-2-50-001 / База данных

MyPrettyCMS / CurrentRelease-To-2-50-001 / Framework

MyPrettyCMS / CurrentRelease-To-2-50-001 / Слои

MyPrettyCMS / CurrentRelease-To-2-50-001 / Порталы

MyPrettyCMS / CurrentRelease-To-2-50-001 / Решение

Исходную версию ветки я заархивировал.

Теперь я могу работать над своим следующим выпуском и внести небольшие исправления в текущий выпуск.

...