Используйте TFVC и GIT-TFS в одном решении одновременно

Извинения за очень наивный вопрос.

В настоящее время мы используем существующий TFVC в нашем командном проекте и хотим перейти на Git-tfs, но что-то заставляет меня задуматься, можем ли мы одновременно использовать TFVC и Git-tfs в одном командном проекте и решении?

Я изучал, как перейти с TFVC на Git-tfs, и я знаю, что TFVC и Git-Tfs можно использовать в одном командном проекте, но как насчет того же решения? Или это невозможно до конца?


person jtabuloc    schedule 13.09.2017    source источник


Ответы (1)


Я не совсем уверен, что вы имеете в виду под Git-TFS, есть несколько вещей, которые могут называться этим именем, поэтому позвольте нам сначала прояснить это.

Git - это распределенная система управления версиями, и с версии 2012 Visual Studio встроила ее поддержку. В TFS 2015, 2017 и VSTS вы можете создавать репозитории Git. Они не отличаются от репозиториев, размещенных GitHub или любым другим поставщиком. Но я думаю, это то, что вы имеете в виду под Git-TFS.

Git-tf и Git-TFS - это инструменты, которые вы можете установить вместе с Git либо на вашем клиенте, либо на вашем сервере, которые позволяют вам использовать клиент Git для локальных веток, нескольких коммитов (своего рода локальная отмена) и других функций Git, работая с единый репозиторий TFVC на сервере TFS или VSTS. Но я думаю, что это не то, что вы подразумеваете под Git-TFS.


Visual Studio может одновременно использовать только один клиент управления версиями в любом открытом решении. Он даже зайдет так далеко, что его можно будет подключить только к одному репозиторию, будь то репозиторий TFVC или репозиторий Git одновременно. Если вы смешиваете и сопоставляете TFVC и Git в одном решении, Visual Studio обнаружит локальные папки Git и принудительно подключится к клиенту контроля версий Git.

Попытка смешать и сопоставить таким образом будет невозможна, Visual Studio будет постоянно заставлять вас выбирать либо то, либо другое.

Но есть вещи, которые можно сделать постепенно:

  • Разбейте решение на более мелкие части и зафиксируйте каждую в собственном репозитории. Таким образом, вы можете оставить некоторые части в TFVC, в то время как другие части можно будет сохранить в Git.
  • Преобразуйте некоторые части решения в автономные репозитории и соберите из них пакеты NuGet с помощью функции Build server в TFS или VSTS. Опубликуйте пакеты в системе управления пакетами TFS / VSTS и используйте их из своего решения. Каждый пакет NuGet можно хранить в собственном репозитории Git и обслуживать отдельно. Когда вы удалили все упаковываемые части из основного решения, вы также можете перенести это решение на Git.
person jessehouwing    schedule 13.09.2017