Вам когда-нибудь приходилось работать над решением с проектами, размещенными в разных репозиториях Git? Раньше вам приходилось либо использовать несколько экземпляров Visual Studio, либо полагаться на внешние инструменты Git. Начиная с Visual Studio 2022 Preview 3, вы можете включить функцию preview поддержки нескольких репозиториев, которая позволит вам работать с одним решением с проектами в нескольких репозиториях и контрибьютить в них из одного экземпляра Visual Studio.
Скачать Visual Studio 2022 Preview
Самый простой способ включить поддержку нескольких репозиториев - использовать CTRL+Q, «Preview» и открыть панель функций предварительного просмотра. Прокрутите до «Включить поддержку нескольких репо» и установите флажок. Эта функция все еще находится в стадии предварительной версии, а это означает, что мы прилагаем все усилия, чтобы добавить дополнительную поддержку в следующих выпусках. А пока мы полагаемся на ваши отзывы и мнение сообщества, чтобы создать то, что вам нужно.
Открытое решение с проектами в разных репозиториях
Если у вас уже есть решение с проектами, размещенными в разных репозиториях Git, просто откройте свое решение с помощью начального окна Visual Studio или с помощью меню «Файл» → «Открыть» → «Проект/решение», и Visual Studio автоматически активирует до 10 репозиториев одновременно. Вы сможете узнать, активировала ли Visual Studio ваши различные репозитории Git, посмотрев на средство выбора репозитория в строке состояния (расположенное в правом нижнем углу), где будет указано количество имеющихся у вас активных репозиториев. Активные репозитории выделены жирным шрифтом в средстве выбора репозиториев.
Вы также можете добавить проекты, размещенные в разных репозиториях, к существующему решению, щелкнув правой кнопкой мыши свое решение в обозревателе решений и выбрав «Добавить» → «Существующий проект».
Фиксация изменений
Окно изменений Git автоматически отслеживает изменения в разных репозиториях. Все, что вам нужно сделать, это написать коммит и нажать кнопку «Commit All Repos», чтобы все ваши изменения были зафиксированы. Вы также можете выбрать этап внесения изменений в первую очередь, что позволит вам выбрать репозитории, в которые вы хотите выполнить коммит. В качестве альтернативы вы можете использовать средство выбора репозитория в верхней части окна Git Changes, чтобы сосредоточиться и зафиксировать изменения в одном репозитории за раз.
Поддержка нескольких репозиториев для Amend, Stash, переключения ветвей и сетевых операций
Поддержка нескольких репозиториев для Amend, Stash, переключения ветвей и сетевых операций, включая Pull, Push, Fetch и Sync, появится в окне Git Changes в будущих итерациях. Чтобы использовать любую из этих операций сейчас, вам нужно будет использовать средство выбора репозитория, чтобы сосредоточиться на одном репозитории за раз. В качестве альтернативы для ветвления вы можете полагаться на окно репозитория Git, как показано в следующем разделе.
Управление ветвями и репозиториями
Окно репозитория Git распознает все активные репозитории и обеспечивает возможность просмотра и управления между репозиториями. Вы можете просматривать, создавать, управлять и переключать ветви прямо из этого окна. Детали фиксации, встроенный diff и входящие / исходящие фиксации всех функций, как и в случае с отдельными репозиториями.
ARad
У меня часто бывает что проекты в решении зависят от базовых проектов из более базового решения, и которые находятся в отдельном репозитории.
Соответственно если я делаю изменения в базовом проекте я могу внизу переключить репозиторий на базовый, посмотреть что там изменено и сделать в него коммит.
Это конечно менее удобно чем один коммит в оба репозитория, но не требуется открывать отдельную студию.
Т.е. требуется проверять не внес ли ты изменения в базовые проекты из другого репозитория, теперь это будет делать студия сама, что конечно удобнее.