Как Visual Studio может подключиться к рабочей области Azure DevOps, репозиторий которой находится на GitHub?

Visual Studio может подключиться к проекту DevOps Azure через Team Explorer, добавив новое соединение Team Project.

Подключившись к командному проекту (размещенному в Azure DevOps), можно увидеть рабочие элементы, сборки и многое другое:

Однако существует проблема, когда вышеупомянутый проект в DevOps Azure не использует внутренний Git-репозиторий Azure DevOps, а вместо этого использует внешний репозиторий GitHub.

В Azure DevOps этот внешний репозиторий GitHub был настроен в: " Настройки проекта" -> "Доски" -> соединения GitHub и единицы работы (например, задачи) успешно связаны с коммитами в репозитории GitHub.

Visual Studio поддерживает только внутренний репозиторий Git Team Project, который пуст, поскольку вместо него используется внешний репозиторий GitHub.

Если Visual Studio напрямую подключен к репозиторию GitHub, то все команды Git доступны, но связь с Team Project потеряна, а такие вещи, как "Рабочие элементы", "Сборки" и т. Д., Более недоступны. С другой стороны, при подключении к проекту Azure DevOps Team они доступны, но репо с исходным кодом (в GitHub) больше не доступно.

Оба варианта кажутся взаимоисключающими. Есть ли способ подключиться к командному проекту DevOps Azure при одновременном использовании внешнего репозитория GitHub (вместо неиспользуемого внутреннего репозитория Azure DevOps Azure)?

2 ответа

Решение

Здесь есть небольшая хитрость... Много функций в Visual Studio зависит от origin удаленный. Если есть несколько пультов, Visual Studio включит функциональность поставщика, на который ссылается origin удаленный. Поэтому, когда в вашем локальном репо имеется несколько удаленных устройств, одно для Github, а другое для Azure Repos, дополнительная функциональность провайдера в origin пульт активируется. В этом случае вы все равно можете нажать /fetsh/pull с любого пульта.

Так:

  • Создайте репозиторий в репозитории Azure (инициализируйте его как голое репо без README или.gitIgnore).
  • Клонировать его в Visual Studio из окна подключения
  • Из настроек хранилища или командной строки добавьте второй пульт, чтобы указать на ваш проект Github.
  • Вытащите содержимое из проекта Github

Или же:

  • Создайте репозиторий в репозитории Azure и скопируйте URL-адрес клона
  • Переименуйте существующий пульт в вашем локальном git-репозитории в github
  • Добавьте пульт Azure Repos в локальный репозиторий под именем origin
  • Используйте окно Подключиться к проекту..., чтобы подключиться к репозиторию Azure Repos. Затем откройте локальный репозиторий Git из локальных репозиториев.
  • Visual Studio должна связать их.

Вы можете игнорировать origin удаленный. Он служит исключительно Visual Studio, чтобы сообщить ей об активировании функций плат Azure и конвейеров Azure.

Это должно позволить Visual Studio думать, что проект размещен главным образом в DevOps Azure, и вы также сможете использовать GitHub.

Нет. Azure DevOps и GitHub, хотя оба принадлежат Microsoft, являются отдельными службами.

Другие вопросы по тегам