Work with multiple repos
As one of our most highly requested features in the Developer Community, we've added multi-repository support to Visual Studio 2022, starting with version 17.4.
Now, you can have up to 25 active Git repositories at one time in Visual Studio. Multi-repo support means that you can work with a solution that spans more than one repository, and apply Git operations across several repositories at the same time. For example, in a large web project, you might need different repositories to manage work done on the frontend, the API, the database, the documentation, along with various libraries and dependencies. Before multi-repo support, you might have had to open multiple instances of Visual Studio to work between repos. Starting with version 17.4, you can manage, view, and debug them all with one instance of Visual Studio.
Note
To see multi-repository support in action, view the Use multiple Git repositories in Visual Studio video on YouTube.
Branch management and track changes
Multi-repository support extends the capabilities of the Git Changes and Git Repository windows. You can manage your multi-repo scenarios the same way as you would in working with a single repository.
You can create your branches across several repositories at one time by using the extended branch creation dialog.
Then, as you make changes, the Git Changes window tracks your work separated by repository. You can stage and commit as you typically would.
You can use the branch pickers in the status bar and the Git Changes tool window to switch branches. All you need to do is select the branch you’d like to check out. Also, you can perform inner loop branching operations like merging, rebasing, renaming, deleting, and comparing branches by right-clicking the branch to open the context menu.
And, you can perform more advanced repository and branch management operations in the Git Repository window.
Network operations
Once you’re ready to commit, the network operations dialog makes it easy to specify the exact branch you’re pushing to and reorder your pushes. This same dialog allows you to exercise more control over other network operations, like fetch and pull.
Repository settings
You can use the Git Repository Settings page to specify your options for each repository. For example, you can specify whether to prune remote branches during fetch.
Activate multiple repos from a solution or a folder
You can activate multiple repositories from either a solution or a folder.
Use a solution
Here's how to create a solution with multiple repositories:
Open one of your existing solutions that already has a repository initialized.
Right-click the solution in Solution Explorer, and then select Add > Existing Project.
Select the .csproj file for another project that has a repository initialized.
After the project's added, Visual Studio detects and activates the second repo. Then, you can adjust the Project References as necessary.
If you create a new project in an existing solution with other projects that already have local or remote repos, you must initialize the new project with Git git init
before it shows as an additional repo in the solution.
Use a folder
If the repositories you want to use are independent of each other and don't need to be part of the same solution, you might want to use a folder to open them.
To do so, you can place the local repo directories in the same parent folder and then use the Open a local folder option from the Visual Studio launch page to open the parent folder. Visual Studio detects and activates each repo, and then tracks changes by repo (as shown in the following screenshot).
Related content
Want to know more about how we'll develop further Git functionality within Visual Studio 2022, or to share your feedback with us on the multi-repo feature? See the "Building with your feedback", "What's next", and "Let us know what you think" sections of the Multi-repository support released blog post.
Next, to continue your journey with repo management, see Resolve merge conflicts in Visual Studio.