{"id":232254,"date":"2021-04-15T07:00:45","date_gmt":"2021-04-15T14:00:45","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=232254"},"modified":"2021-04-15T11:22:51","modified_gmt":"2021-04-15T18:22:51","slug":"enhanced-productivity-with-git-in-visual-studio","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/enhanced-productivity-with-git-in-visual-studio\/","title":{"rendered":"Enhanced Productivity with Git in Visual Studio"},"content":{"rendered":"<p><span style=\"font-size: 12pt;\">We continue to enhance the Git experience in Visual Studio and are excited to announce some long-awaited updates in version <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2019-v16-10-preview-2\/\" target=\"_blank\" rel=\"noopener\">16.10 Preview 2<\/a>. You can download the latest Preview and run it right alongside your main release, leaving your production installation undisturbed.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\" target=\"_blank\">Download Visual Studio Preview<\/a><\/div><\/span><\/p>\n<p><span style=\"font-size: 12pt;\">In the last iteration, 16.9, we listened to your <a href=\"https:\/\/developercommunity.visualstudio.com\/search?space=8&amp;q=%5Bvs+version+control%5D&amp;sort=votes\" target=\"_blank\" rel=\"noopener\">feedback<\/a> and focused on fixing issues after the <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/announcing-the-release-of-the-git-experience-in-visual-studio\/\" target=\"_blank\" rel=\"noopener\">first public release<\/a> of the Git experience. In 16.10, we\u2019ve built new functionality that addresses gaps around <a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/New-Git-Experience-is-too-split-up\/1315570\" target=\"_blank\" rel=\"noopener\">discoverability<\/a>, <a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/Removed-the-functionality-of-push-and-re\/1269226\" target=\"_blank\" rel=\"noopener\">switching repositories<\/a>, <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/new-git-experience-dont-use-separate-tabs-support\/1080014\" target=\"_blank\" rel=\"noopener\">navigation<\/a>, and more!<\/span><\/p>\n<p><figure id=\"attachment_232230\" aria-labelledby=\"figcaption_attachment_232230\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10-p2-git.gif\"><img decoding=\"async\" class=\"wp-image-232230 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10-p2-git.gif\" alt=\"Enhanced Git tooling in 16.10 preview 2\" width=\"2048\" height=\"1155\" \/><\/a><figcaption id=\"figcaption_attachment_232230\" class=\"wp-caption-text\"><center><em><span style=\"font-size: 10pt;\">Overview of Git enhancements (<a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10-p2-git.gif\" target=\"_blank\" rel=\"noopener\">enlarge<\/a>)<\/span><\/em><\/center><\/figcaption><\/figure><\/p>\n<p style=\"text-align: center;\">\n<h3>Status bar<\/h3>\n<p><span style=\"font-size: 12pt;\">The first set of changes is to the status bar. The section of the status bar at the bottom right of the IDE window has a tray of always accessible Git commands. And we started to expand the functionality there.<\/span><\/p>\n<h4>Branch picker<\/h4>\n<p><span style=\"font-size: 12pt;\">Beginning with the rightmost button, the well-known branch picker now looks similar to the branch drop-down in the Git Changes window. With this visual overhaul, you\u2019ll have access to search branches and can view both local and remote branches. The context menu gives you actions to perform on a branch, regardless of which tool windows you have visible.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_branch_picker.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232262\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_branch_picker.png\" alt=\"Image 16 10 P2 status bar branch picker\" width=\"400\" height=\"393\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_branch_picker.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_branch_picker-300x295.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Branch picker in the status bar<\/em><\/p>\n<h4>Repository picker<\/h4>\n<p><span style=\"font-size: 12pt;\">The repository button in the status bar now has the first iteration of a repository picker when you select it. You can see all of your local repositories sorted in alphabetical order, and you can filter the list, too. Soon, you&#8217;ll be able to <a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/Delete-repositories-from-the-Git-Local-R\/1271374\" target=\"_blank\" rel=\"noopener\">remove items<\/a> from this list as well.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_repo_picker.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232263\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_repo_picker.png\" alt=\"Image 16 10 P2 status bar repo picker\" width=\"400\" height=\"394\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_repo_picker.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_repo_picker-300x296.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Repository picker in the status bar<\/em><\/p>\n<h4>Opening repositories<\/h4>\n<p><span style=\"font-size: 12pt;\">Whenever you open a version-controlled folder or solution for the first time in Visual Studio, you&#8217;ll see the associated Git repository appear in your local repositories list along with any of its nested sub-repositories. If the remote of the repository is hosted on Azure DevOps, you\u2019ll get a prompt in Git Changes to connect to the Azure DevOps Project. Doing so will allow you to access Work Items and Builds for the project. And after the initial connection is established, Visual Studio remembers it so that it auto-connects the next time you open the repository.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_connect_ado.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232266\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_connect_ado.png\" alt=\"Image 16 10 P2 connect ado\" width=\"400\" height=\"106\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_connect_ado.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_connect_ado-300x80.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Info bar to establish initial connection to Azure DevOps project<\/em><\/p>\n<h4>Solution list<\/h4>\n<p><span style=\"font-size: 12pt;\">By default, whenever you open a repository, Visual Studio loads the associated solution\/folder in Solution Explorer. If you have multiple solutions in the repository, then Solution Explorer displays the list of solutions.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_solution_list.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232269\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_solution_list.png\" alt=\"Image 16 10 P2 solution list\" width=\"400\" height=\"237\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_solution_list.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_solution_list-300x178.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>List of solutions for the repository in Solution Explorer<\/em><\/p>\n<h4>Customize repository behavior<\/h4>\n<p><span style=\"font-size: 12pt;\">There are a few nuances here. Normally, Visual Studio will maintain consistency between the open repository and the open solution so that they are never out of sync. For example, if you switch to a different repository, then the open solution will close and the new solution will open. But we\u2019ve seen <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/vs-preview-1680-preview-3-new-git-experience-git-l\/1190853\" target=\"_blank\" rel=\"noopener\">situations<\/a> where your solution might be outside of your Git repository. If so, you&#8217;ll want to keep the solution open when you open a repository even though they\u2019re in different folders. Now, you can customize that behavior by toggling the new preference in Git &gt; Settings.\u00a0<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_close_sln_setting.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232265\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_close_sln_setting.png\" alt=\"Image 16 10 P2 close sln setting\" width=\"800\" height=\"84\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_close_sln_setting.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_close_sln_setting-300x32.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_close_sln_setting-768x81.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Preference to choose whether to close solutions when switching repositories<\/em><\/p>\n<p><span style=\"font-size: 12pt;\">We\u2019ve also gotten <a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/Make-opening-only-git-repository-possi\/1262443?preview=true\" target=\"_blank\" rel=\"noopener\">feedback<\/a> that some developers prefer to use Visual Studio as a Git tool before they start coding. For example, you might want to change branches or pull commits before you open a solution or folder. Our first step to help here is to provide an option to open only a repository, and not any code files with it. This will make Visual Studio essentially a Git-only tool. If you want to open code files, then you can load the solution or folder later.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_open_folder_setting.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232258\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_open_folder_setting.png\" alt=\"Image 16 10 P2 open folder setting\" width=\"800\" height=\"87\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_open_folder_setting.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_open_folder_setting-300x33.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_open_folder_setting-768x84.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Preference to load code when opening repositories<\/em><\/p>\n<h4>Pending changes<\/h4>\n<p><span style=\"font-size: 12pt;\">The Changes button in the status bar shows the number of changed files that haven\u2019t been committed yet. It provides a shortcut to open the Git Changes window.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_pending_changes.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232259\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_pending_changes.png\" alt=\"Image 16 10 P2 pending changes\" width=\"400\" height=\"81\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_pending_changes.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_pending_changes-300x61.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Button to open Git Changes window<\/em><\/p>\n<h4>Sync commits<\/h4>\n<p><span style=\"font-size: 12pt;\">And the final button in the status bar shows your Git remote operations. This button displays the number of commits that haven&#8217;t been pushed to the remote. And soon, it&#8217;ll also show you the number of unpulled commits. When you click this button, you&#8217;ll see a new flyout with commands to Fetch, Pull, Push, and Sync (which we brought back by <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/add-a-sync-button-to-the-new-git-experience\/975468\" target=\"_blank\" rel=\"noopener\">popular demand<\/a>)!<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_sync.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232264\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_sync.png\" alt=\"Image 16 10 P2 status bar sync\" width=\"400\" height=\"193\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_sync.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_status_bar_sync-300x145.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Outgoing \/ Incoming commits dropdown with Sync functionality<\/em><\/p>\n<p><span style=\"font-size: 12pt;\">Sync is short for Synchronize and is a combination of a Pull and then a Push. The added benefit of the Sync command is that it synchronizes your local branch with the remote in one click. The command is also available in the top-level Git menu, which allows Sync to have its own keyboard shortcut (Alt+G+S) for quick access. It also makes it searchable in the Ctrl+Q search box, if you ever forget where it is.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_menu.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232256\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_menu.png\" alt=\"Image 16 10 P2 git menu\" width=\"400\" height=\"363\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_menu.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_menu-300x272.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Sync command in the Git menu<\/em><\/p>\n<h3>Git Repository window<\/h3>\n<h4>Incoming\/Outgoing commits<\/h4>\n<p><span style=\"font-size: 12pt;\">The first thing you\u2019ll notice in the Git Repository window is the permanent home for the list of Incoming and Outgoing commits. You can now access these sections from the status bar and keyboard shortcut Ctrl+0+Y. The sections give you an overview of all the commits that are yet to be pushed or pulled. When you select Fetch, it will populate the Incoming section. Making local commits will populate the Outgoing section.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_incoming_section.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232257\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_incoming_section.png\" alt=\"Image 16 10 P2 incoming section\" width=\"600\" height=\"105\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_incoming_section.png 600w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_incoming_section-300x53.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Fetch, Pull, and Push buttons in the permanent Incoming and Outgoing sections in the Git Repository section<\/em><\/p>\n<h4>Embedded commit details<\/h4>\n<p><span style=\"font-size: 12pt;\">The next thing you might want to do after looking at an outgoing commit is to check what changes were in the commit. Previously, selecting a commit would open a new tool window, and then selecting a specific file to view the changes would open yet another window. That\u2019s too many windows! So, we embedded all the functionality into one single window. You\u2019ll be able to see the details of the commit and a visual of the changes in the first file. You can go down the list of files and view the changes in each file right there. The windows work in the same way when comparing two commits.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_embedded_commit_details.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232267\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_embedded_commit_details.png\" alt=\"Image 16 10 P2 embedded commit details\" width=\"800\" height=\"476\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_embedded_commit_details.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_embedded_commit_details-300x179.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_embedded_commit_details-768x457.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Embedded commit details and inline file diff in the Git Repository window<\/em><\/p>\n<p><span style=\"font-size: 12pt;\">And if you want to get a full screen view of the commit details, maybe even pop out a few different commits on different screens to deep dive into the changes, you can do that too! You have full control over the layout of the window.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The toolbar at the top of the file comparison provides you with useful information. The notations on the left tell you the number of deletions and insertions in the file for the selected commit. By using the actions on the right, you can change the layout from side-by-side view to inline view and others.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_popout_commit.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232260\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_popout_commit.png\" alt=\"Image 16 10 P2 popout commit\" width=\"800\" height=\"357\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_popout_commit.png 800w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_popout_commit-300x134.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_popout_commit-768x343.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Popped out tab for commit details with side-by-side file diff<\/em><\/p>\n<h3>Git Changes window<\/h3>\n<p><span style=\"font-size: 12pt;\">We\u2019ve consolidated the buttons in the status section of the Git Changes window into a single overflow menu in the upper right corner. From here, you can manage multiple remotes if you have any and perform actions on them. The menu also gives you access to commands for navigation and opening other windows related to your repository such as Settings, Branch History, File Explorer, and Command Prompt.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_changes_action_menu.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-232255\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_changes_action_menu.png\" alt=\"Image 16 10 P2 git changes action menu\" width=\"400\" height=\"362\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_changes_action_menu.png 400w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2021\/04\/16.10_P2_git_changes_action_menu-300x272.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/span><\/p>\n<p style=\"text-align: center;\"><em>Action menu in the Git Changes window<\/em><\/p>\n<h3>Learn more<\/h3>\n<p><span style=\"font-size: 12pt;\">With every new experience, there&#8217;s always a change in muscle memory. We think it&#8217;s important to provide up-to-date guidance on how to use any new tooling. For that purpose, we\u2019ve created a <a href=\"https:\/\/aka.ms\/vsgitlearn1\" target=\"_blank\" rel=\"noopener\">free online course<\/a> to learn Git in Visual Studio with step-by-step exercises. Our <a href=\"https:\/\/aka.ms\/vsgitdocs\" target=\"_blank\" rel=\"noopener\">documentation<\/a> is also updated with more articles on version control. <\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Regardless of whether you&#8217;ve followed along with our journey from <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/improved-git-experience-in-visual-studio-2019\/\" target=\"_blank\" rel=\"noopener\">the beginning<\/a> or are joining us right now, just know that there&#8217;s much more to come. We have plans to build many valuable features to help you work with Git repositories in Visual Studio. To help us prioritize, please continue to vote on <a href=\"https:\/\/aka.ms\/vsgitsuggestions\" target=\"_blank\" rel=\"noopener\">feature requests<\/a>, and let us know how we\u2019re doing!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019ve continued to enhance the Git tooling in Visual Studio and are excited to announce some long-awaited updates. We&#8217;ve built functionality that addresses gaps around discoverability, switching repositories, navigation, and more!<\/p>\n","protected":false},"author":3029,"featured_media":232283,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[1396,431,4381,12],"class_list":["post-232254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-azure-devops","tag-git","tag-github","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>We\u2019ve continued to enhance the Git tooling in Visual Studio and are excited to announce some long-awaited updates. We&#8217;ve built functionality that addresses gaps around discoverability, switching repositories, navigation, and more!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/232254","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\/3029"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=232254"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/232254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/232283"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=232254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=232254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=232254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}