Переместить некоторые проекты из одной учетной записи в другую. - PullRequest
0 голосов
/ 25 февраля 2019

Я собираюсь изменить свою рабочую компанию, но я продолжу работать над теми же проектами.У меня есть несколько проектов на Azure DevOps с Git и еще один с TFVC.Я использовал эти инструменты контроля версий, интегрированные в Visual Studio, я никогда не использовал консольные команды.

Я хочу «скопировать» исходный код со всеми изменениями некоторых проектов (не всех проектов) из одной учетной записи вдругой.И если есть возможность перенести TFVC в Git.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

TFVC

TFVC очень сложно перенести с одного сервера на другой.Есть некоторые инструменты, которые могут помочь, но TFVC-> TFVC трудно сделать правильно.Из-за того, что вы можете делать в TFVC то, что невозможно в Git, не всегда возможно перенести ** всю * историю и ** все * ветви.В целом, однако, достаточно перенести основную ветку с некоторой историей.

С таким предостережением, к счастью, TFVC-> Git намного проще.В текущей учетной записи DevOps Azure выберите параметр «Импорт репозитория»:

enter image description here

Вы можете указать одну ветвь для импорта с историей до 180 дней.Для большинства проектов этого более чем достаточно.Используя этот маршрут, невозможно импортировать несколько веток, поэтому вам нужно сначала интегрировать свою работу в одну ветку, если у вас есть незавершенные элементы.

enter image description here

Это преобразует вашу ветку TFVC в Git-репозиторий.Вы можете выполнить это столько раз, сколько вы хотите импортировать из разных веток и из разных репозиториев TFVC, пока вся ваша работа не будет в Git.

Git

Существует несколько способов перемещения репозитория Git изиз одной системы в другую, но поскольку вы используете DevOps Azure, вы можете использовать тот же параметр импорта репозитория, чтобы позволить репозиториям Azure импортировать данные из старой учетной записи прямо в новую.

Сначала вынеобходимо создать новую целевую учетную запись (или использовать существующую личную учетную запись, если она у вас есть).Затем используйте ту же опцию импорта репозитория, но на этот раз из вашей новой учетной записи.

enter image description here

Введите URL-адрес клонирования для репозитория, который вы хотите переместить, и предоставьте свои учетные данные Git или токен личного доступа:

enter image description here

Это автоматически добавит весь ваш код, ветви, теги и т. Д. В вашу целевую учетную запись и в новый репозиторий 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
0 голосов
/ 25 февраля 2019

Прежде всего, перенесите код TFVC в Git с помощью инструмента git-tfs .

Когда весь ваш код в Git, вы можете легко переместить код в другой проект:

1) Клонируйте репозиторий в локальную папку.

2) Перейдите в TFS / Azure DevOps и создайте новый репозиторий Git.

3) Переместите локальный репозиторий в TFS /Azure DevOps repo.

Лучший способ сделать это с помощью командной строки:

1) git clone old-repo-url

2) Создать новый репос портала TFS / Azure DevOps.

3) git remote add origin new-repo-url

git push -u origin --all

...