{"id":240203,"date":"2022-11-14T08:00:44","date_gmt":"2022-11-14T16:00:44","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=240203"},"modified":"2023-02-15T10:14:02","modified_gmt":"2023-02-15T18:14:02","slug":"multi-repository-support-released","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/multi-repository-support-released\/","title":{"rendered":"Multi-repository Support Released!"},"content":{"rendered":"<p>As one of our <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/allow-multiple-git-repositories-to-be-active-at-on\/351156\">most highly requested features with Developer Community<\/a>, we are so happy to announce the release of multi-repository support in Visual Studio 2022. Support for multiple repositories means you can have up to 10 active Git repositories at once. This allows you to work with a solution that spans more than one repository, enabling git operations accross several repositories at the same time. For example, in a large web project you may need different repositories to manage work done on the frontend, the API, the database, the documentation, and various libraries and dependencies. Before multi-repository support, you may have needed to open multiple instances of Visual Studio to work between repos, but now you can manage, view, and debug them all with one instance of VS.<\/p>\n<p><iframe title=\"Use multiple Git repositories in Visual Studio\" src=\"https:\/\/www.youtube.com\/embed\/ctnlQzX2YwI\" width=\"744\" height=\"419\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Start using multi-repository support by updating your Visual Studio 2022 to version 17.4 or later and opening a solution or folder with projects across several repositories. Check out our sample solution <a href=\"https:\/\/github.com\/houghj16\/SampleAPI\"><u>here<\/u><\/a> that spans multiple public GitHub repositories to see how this works!<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\" target=\"_blank\">Download Visual Studio 2022<\/a><\/div><\/p>\n<p><div class=\"alert alert-success\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Lightbulb\"><\/i><strong>Are you new to Git, GitHub, and version control?<\/strong><\/p>Start utilizing GitHub in Visual Studio to its full potential by <a href=\"https:\/\/aka.ms\/vsgitlearn-1-signup-multirepoblog\">signing up for the GitHub learning series<\/a>.<\/div><\/p>\n<h4>Branch Management and Tracking Changes<\/h4>\n<p>Multi-repository support extends the capabilities of the Git Changes and Git Repository windows. This means managing your multi-repo scenarios works the same as working with a single repository. You can create your branches across several repositories at once in the extended Branch creation dialog.\n<a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240292\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_1-300x170.png\" alt=\"Branching in a multi-repo scenario\" width=\"369\" height=\"209\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_1-300x170.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_1.png 540w\" sizes=\"(max-width: 369px) 100vw, 369px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_2.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240293\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_2-300x234.png\" alt=\"Branching for multi-repo\" width=\"388\" height=\"303\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_2-300x234.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Branching_2.png 501w\" sizes=\"(max-width: 388px) 100vw, 388px\" \/><\/a><\/p>\n<p>Then, as you make changes, the Git Changes window tracks your work separated by repository. This allows you to stage and commit as you normally would.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Track-changes.png\"><img decoding=\"async\" class=\" wp-image-240295 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Track-changes-300x205.png\" alt=\"Multiple repository tracking changes\" width=\"407\" height=\"278\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Track-changes-300x205.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Track-changes.png 510w\" sizes=\"(max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p>You can use the branch pickers in the status bar and the Git Changes tool window to switch branches. Simply click on the branch you\u2019d like to checkout. Additionally, you can perform inner loop branching operations like merging, rebasing, renaming, deleting, and comparing branches by right clicking on the branch. You can perform more advance repository and branch management operations in the Git Repository Window.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Branch-management-status-bar.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240298\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Branch-management-status-bar-283x300.png\" alt=\"Multi-repository support for branch management from the status bar\" width=\"345\" height=\"366\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Branch-management-status-bar-283x300.png 283w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Branch-management-status-bar-24x24.png 24w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Branch-management-status-bar.png 352w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240291\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window-300x104.png\" alt=\"Git Repository window multi-repository support\" width=\"660\" height=\"229\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window-300x104.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window-1024x355.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window-768x266.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Repo-window.png 1332w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<h4>Network Operations<\/h4>\n<p>Once you\u2019re ready to commit, the network operations dialog makes it easy to specify the exact branch you\u2019re pushing to and reorder your pushes. This same dialog allows you to exercise more control over other network operations, like Fetch and Pull.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Push.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240296\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Push-300x131.png\" alt=\"Multi-repository support for push\" width=\"451\" height=\"197\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Push-300x131.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Push.png 651w\" sizes=\"(max-width: 451px) 100vw, 451px\" \/><\/a><\/p>\n<h4>Repository Settings<\/h4>\n<p>Updates to the Git Repository Settings page allows you to specify your options for each repository. For example, you can specify whether to prune remote branches during fetch.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Git-settings.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240297\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Git-settings-300x176.png\" alt=\"Multi-repository support in settings\" width=\"448\" height=\"263\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Git-settings-300x176.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR-Git-settings.png 747w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><\/a><\/p>\n<h4>Open Folder<\/h4>\n<p>Additionally, you can activate multiple repositories from a Folder in addition to from a Solution.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar.png\"><img decoding=\"async\" class=\"aligncenter wp-image-240294\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-300x297.png\" alt=\"Multi-repository support for repo picker in the status bar \" width=\"436\" height=\"432\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-300x297.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-150x150.png 150w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-24x24.png 24w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-48x48.png 48w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar-96x96.png 96w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/11\/MR_Repo_picker_status_bar.png 354w\" sizes=\"(max-width: 436px) 100vw, 436px\" \/><\/a><\/p>\n<h4><\/h4>\n<h4>Building with Your Feedback and What&#8217;s Next<\/h4>\n<p>Users were <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/allow-multiple-git-repositories-to-be-active-at-on\/351156\">requesting help<\/a> dealing with context switching, collaboration and debugging, and organizing their code. We collected feedback that developers were using other Git clients or even multiple instances of VS to apply Git operations in different repos, projects, and solutions. We also heard that many organizations were creating NuGet packages to get internal dependencies that should just be easy to consume from a separate repo. Finally, users needed a better way to manage things like microservices, separate projects, and scripts or pipelines.<\/p>\n<p>We started by scoping our support based on the open solution and expanded the support to folder scenarios. By focusing more broadly than just on submodule support, we could enable quick cross repo debugging and ensure those not using submodules a seamless experience. A complete <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/full-git-submodule-support\/351549\">submodule experience<\/a> is on the roadmap for us to tackle in the future.<\/p>\n<h4><\/h4>\n<h4>10 Repository Limit<\/h4>\n<p>We currently support up to 10 active repositories at once. We are continuously monitoring the performance impact on I\/O, CPU, and UI responsiveness, especially as the size of the repositories can have a large effect. Since less than 0.05% of users are exceeding the 10 repositories in preview, we\u2019ll continue to investigate and take feedback to understand how we can deliver a great experience for all scenarios going forward.<\/p>\n<p>&nbsp;<\/p>\n<h4>Let us know what you think<\/h4>\n<p>Your feedback has informed our work at every step of developing this feature &#8211; thank you! Try out the new multi-repository support and let us know what you think by taking the following quick survey:<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/www.research.net\/r\/MultiRepo\" target=\"_blank\">Share your Feedback<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As one of our most highly requested features with Developer Community, we are so happy to announce the release of multi-repository support in Visual Studio 2022. Support for multiple repositories means you can have up to 10 active Git repositories at once. This allows you to work with a solution that spans more than one [&hellip;]<\/p>\n","protected":false},"author":98326,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-240203","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>As one of our most highly requested features with Developer Community, we are so happy to announce the release of multi-repository support in Visual Studio 2022. Support for multiple repositories means you can have up to 10 active Git repositories at once. This allows you to work with a solution that spans more than one [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/240203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/98326"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=240203"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/240203\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=240203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=240203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=240203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}