TFVC
TFVC очень сложно перенести с одного сервера на другой.Есть некоторые инструменты, которые могут помочь, но TFVC-> TFVC трудно сделать правильно.Из-за того, что вы можете делать в TFVC то, что невозможно в Git, не всегда возможно перенести ** всю * историю и ** все * ветви.В целом, однако, достаточно перенести основную ветку с некоторой историей.
С таким предостережением, к счастью, TFVC-> Git намного проще.В текущей учетной записи DevOps Azure выберите параметр «Импорт репозитория»:
Вы можете указать одну ветвь для импорта с историей до 180 дней.Для большинства проектов этого более чем достаточно.Используя этот маршрут, невозможно импортировать несколько веток, поэтому вам нужно сначала интегрировать свою работу в одну ветку, если у вас есть незавершенные элементы.
Это преобразует вашу ветку TFVC в Git-репозиторий.Вы можете выполнить это столько раз, сколько вы хотите импортировать из разных веток и из разных репозиториев TFVC, пока вся ваша работа не будет в Git.
Git
Существует несколько способов перемещения репозитория Git изиз одной системы в другую, но поскольку вы используете DevOps Azure, вы можете использовать тот же параметр импорта репозитория, чтобы позволить репозиториям Azure импортировать данные из старой учетной записи прямо в новую.
Сначала вынеобходимо создать новую целевую учетную запись (или использовать существующую личную учетную запись, если она у вас есть).Затем используйте ту же опцию импорта репозитория, но на этот раз из вашей новой учетной записи.
Введите URL-адрес клонирования для репозитория, который вы хотите переместить, и предоставьте свои учетные данные Git или токен личного доступа:
Это автоматически добавит весь ваш код, ветви, теги и т. Д. В вашу целевую учетную запись и в новый репозиторий Git.Выполните эту последовательность столько раз, сколько у вас есть репозитории Git.
Способ командной строки
Вы также можете выполнить те же шаги, используя командную строку:
Git
Чтобы клонировать репо для миграции, используйте свежий клон и укажите параметр --mirror
:
git clone https://dev.azure.com/{Org}/{Project}/_git/{Repo} --mirror
Затем вставьте все в новый пустой репозиторий git для новой учетной записи:
git push --mirror https://dev.azure.com/{NewOrg}/{NewProject}/_git/{NewRepo}
TFVC
Для TFVC у вас есть инструменты, которые могут импортировать ветку TFVC в репозиторий git с необязательной историей.git tfs
позволяет выполнить такой экспорт:
git tfs clone http://your-tfs-server:8080/tfs/your-collection $/your-tfvc-repo
Этот процесс займет некоторое время, чтобы импортировать ваши ревизии в локальное git-репо.После этого вы можете вставить полученный репозиторий Git в новый целевой проект DevOps Azure:
git remote add target https://dev.azure.com/{NewOrg}/{NewProject}/_git/{NewRepo}
git push --all target