Git Tooling Preview Features to Enhance Productivity

Jessie Houghton

We’re excited to share productivity and quality of life improvements available to the Git experience in Visual Studio version 17.6 Preview 2. Download the latest Visual Studio Preview and watch our recent Visual Studio Toolbox Live session to check out the following new Git features.

New Feature (Links to the section of the post) Description
Improved Search for Related GitHub Issues and Azure DevOps Work Items Find all your related issues and work items from your commits with better search results.
Merge Enhancements Know when to expect merge conflicts – before you merge.
Stage and Commit During Build Avoid waiting for the build to end to commit your changes.
Git History Perf Improvements See your history results faster.
New Branch and Tag Naming Enhancements Avoid errors when creating new branches and tags.
Line unstaging Catch irrelevant code changes before you commit them.

During this release, we’ve improved on the Issues and Work Items integration in the commit message we introduced in 17.6 preview 1. You now get better search results when querying for items that you haven’t updated recently. You also can view items that aren’t related to you but are part of your project or repo without needing to know the id. The search works by matching complete strings in your items’ names. This can help minimize copy-pasting item ids between the browser and Visual Studio.

Merge Enhancements

We improved the merge dialog to give you more information and control over your merges. You now know how many files are being affected during a merge, which can help you avoid merging from the incorrect branch. Additionally, we’ll warn you if there might be conflicts.

Updated Merge Dialog

The checkbox also allows you to configure whether you’d like to automatically commit changes after the merge for each merge, instead of having to toggle that option in settings.

Stage and Commit During Build

We heard feedback that not being able to complete certain git operations during the build process hurt productivity. As a start, we’ve enabled staging your changes and committing your staged items while you’re waiting for the build. Committing directly is a risky operation since the build may add temporary files to your solution. To ensure you’re not accidentally committing any unintended changes, you can now stage them first, verify your files are correct, and then commit them.

Git History Perf Improvements

Improvements to our Git History now load previous commits faster, allowing you to dig into your file and folder history quicker than before. Time gain will vary based on how recently a file has been changed.

New Branch and Tag Naming Enhancements

Create New Branch

Improvements to the New Branch and New Tag dialogs automatically replace spaces with dashes to avoid invalid characters in the name. This makes copy-pasting issues names and numbers into branch names, a common flow for developers using issue tracking, much easier. No more fixing up the whitespace characters.

Line Unstaging

As we incrementally improve our line-staging (aka interactive staging) feature that we GA’d in version 17.3, we’ve added unstage. You can now use the hover option to unstage changes, line by line, as requested here.

Line unstage

Known issue: You’ll need to have current unstaged changes in your working directory to try this feature out.

Keep engaging with us

These productivity updates would not have been possible without your suggestions and feedback, so keep engaging with us on Developer Community to suggest new features for Visual Studio.

15 comments

Discussion is closed. Login to edit/delete existing comments.

  • Stephen Shaw 1

    With the focus on GitHub is this encouraging a move from Azure DevOps to GitHub?

    • Jessie HoughtonMicrosoft employee 1

      You’ll see all of these improvements across both Azure DevOps and GitHub. We are continuing to invest in making both experiences great and consistent.

    • Ed Harris 1

      I have a good feeling Azure DevOps and GitHub Enterprise may be rebranded to Azure GitHub Enterprise in the future. There’s no use in having both, in my opinion.

      • Tsahi 0

        I think not. They are quite different creatures. Azure DevOps is a much more complete product, with many more features not everyone needs or willing to pay for.

  • Josh Harmon 1

    Several links (in the table, plus the Developer Community link at the end) in this post don’t work.

    • Jessie HoughtonMicrosoft employee 1

      Thanks for your comment, they have been updated!

  • Stuart Ballard 0

    One really simple git productivity improvement I’ve wanted for years: An option for “always Fetch before Pull”. I understand that the separation of those two steps is part of what makes git so powerful compared to older VC systems, but in small teams or simple situations all you really need is “get latest version”, and I’ve wasted way too much time on wild goose chases resulting from forgetting to Fetch so my Pull didn’t do anything at all.

    • Edison Henrique Andreassy 1

      Git Pull do this already. You don’t need run fetch before pull. Fetch is useful if you want to see incoming changes *before* pull, but is not necessary.

    • anonymous 0

      this comment has been deleted.

  • Jiří Zídek 1

    Any chance to see PR and feedback in VS ? (Azure DevOps+GIT)

  • Muhammad Miftah 1

    At this point, the VS IDE is getting a bit too feature-full. I think you should consider just splitting out all the source control related functions into its own app.

    • Benjamin Hejda 4

      I can’t agree. IDE stands for INTEGRATED dev environment: Standalone apps already exist. The added value of the plugin is the fact that it’s an inegrated plugin.

    • Ed Harris 1

      You may consider trying Visual Studio Code for more of the experience you are looking for.

  • McKay, Rob 0

    Are there any plans to support multiple git repos when using CMake Workspaces?

Feedback usabilla icon