Exciting new updates to the Git experience in Visual Studio
Update Nov. 17, 2020: Integrated Git experience released
We’ve seen a lot of enthusiasm in the past few months with the improvements we’ve been making to the Git integration for Visual Studio 2019. You can learn more about how to use the entire feature set in our new documentation. We’ve also received a healthy amount of good feedback that’s helped us focus our efforts. We first announced the new changes in a blog post in March. Since then, the team has been hard at work analyzing the feedback, polishing the user interface, and building more features. We’re excited to share those updates with you today.
If you haven’t tried the new Git user experience in Visual Studio yet, download the latest Preview and you’ll get the newest updates to the experience by default. If you’re using the public Release of Visual Studio (version 16.6+), then hit Ctrl+Q to search and type in ‘New Git user experience’ to turn it on from the Preview Features pane of Tools – Options.
New Git user experience Preview Feature flag
You can turn the experience off using the same checkbox.
Merge Conflict Resolution improvements
As we talked to customers about the pain points they face when working with source control, we consistently heard about the frustration with merge conflicts. When you get a merge conflict, it interrupts your coding flow and forces you to switch context. We also realized we needed better messaging to indicate you encountered a conflict during a Git pull operation. To address these concerns, the Git Changes tool window now clearly lists unmerged changes and displays a status message specifying that conflict resolution is in progress.
Merge in progress with conflicts (unmerged changes)
In addition, in our user studies, as we walked through different workflows, we noticed that not all developers always have the Git Changes window open. If you don’t, you’ll only see the file with conflict indicators and may try to manually resolve the conflicts in-line. We all know how painful that can be, especially for large files with many conflicts. So, we added a gold info bar at the document level to notify you when the file contains conflicts, prompting you to open the Merge Editor.
Gold info bar with link to open merge editor
The three-way Merge Editor has undergone quite a revamp based on ongoing customer feedback. We’ve changed the legacy TFVC terminology of Source and Target to Incoming and Current with a strong emphasis on the branch name. This used to be a constant point of confusion. Incoming and Current also each have a new checkbox to take all changes from either version with a single click.
Incoming / Current and branch names in the Merge Editor headings
The Merge Editor now makes it easier to parse conflicts by better aligning matching lines, displaying word level differences, and making differing whitespace visible. We’ve also reduced the clutter around the zoom margin, health margin, and toolbar. Further, you can turn off non-conflicting differences to just focus on the conflicts. And if you don’t need the horsepower of the Merge Editor, such as in Add/Add conflicts, you can resolve those now at the file level with a two-way merge.
Merge editor experience
Brand NEW Git Repository window
After we launched the first version of the Git Changes tool window, we wanted to make sure we incorporated community feedback and suggestions as we iterated on the experience. Our research informed us there are specific Git operations most of you perform while coding that made sense in the Git Changes window adjacent to your editor. But other times, you need a full-screen experience to focus on a dedicated Git activity. So, in Version 16.7 Preview 3, we built the Git Repository window, the future home for all your Git related activities. It’s now available in Visual Studio Preview, with some initial functionality.
First, we built an interactive branch tree where you can manage all the branches in the repository in a single view. From here you can use the context menu to Fetch, Pull, and Push branches without having to check them out. You can also create a new branch directly from any local or remote branch. We’ve also added the commands to Reset, Cherry-Pick, and Unset Upstream Branch, which weren’t available in the Git Changes branch picker.
In addition to using the power-packed context menu, you can also double click a branch in the list to show you its history in the right pane. At the top of the graph, you can see incoming commits after performing Fetch. Soon, you’ll be able to see outgoing commits as well. Double clicking on a commit will open its metadata in the Commit Details pane. You can access this window through the Manage Branches command in the Git menu as well as the Unpushed Commits button in the Status Bar.
This is just the first iteration of the Git Repository window and we will continue to build more features into it. But in the meantime, we’re eager for you all to try it out and let us know what you think.
Manage branches and view history from the Git Repository window
Additional updates
Create a repository
You can now create a new repository on GitHub, Azure Repos, or any remote URL at any time, even from an empty folder. Visual Studio will help you initialize the new repository locally as well as push it to your remote GitHub account. Use the existing remote option to push your code to a hosted Git repository you’ve already created.
Create a new repository and push it to GitHub
Git Settings
It’s super important to be able to personalize and customize your Git settings at a repository level as well as at a global level. We’ve migrated all your settings to Tools – Options – Source Control.
Git settings
Streamlined Push
Along the lines of better error management, we’ve enhanced the Push experience so that if you Push changes before pulling upstream changes, you get options to Force Push or Pull and Push. To Force Push, you first need to enable ‘push –force’ in your Git settings.
Dialog to help with Pushing commits
Git Changes window
We’ve been improving the new Git Changes window that we first introduced in Version 16.6. We enhanced the branch picker by adding special icons to more easily differentiate between remote branches, local branches tracking a remote, and local branches not tracking a remote.
Branch Picker in Git Changes window
Work Items
And finally, when the new Git experience is enabled, work items and builds can still be accessed from Team Explorer.
Team Explorer Home page with Work Items and Builds
Wrapping up
As you can hopefully tell, we’ve been spending a bit of time to improve this experience. We see that remote work and collaboration are becoming more important than ever. And that’s why we continue to invest in these areas. Let us know in the comments what you think and what you’d additionally like to see here. We track all our customer asks in Suggestion Tickets on the Developer Community portal. Even though we sometimes don’t get to all of them immediately, we really appreciate the suggestions you make. And we do enjoy engaging in design conversations on the portal. Thank you for the ongoing feedback; you keep us honest and make us better.
Stay safe. Stay healthy.
103 comments
The Github experience since the Preview version of VS is SO much better now. No more going forth and back. The only thing I’m still missing is to delete a branch (after merged) not just locally but also on Github. Currently I still have to visit Gitub to delete it there as well.
That’s good feedback! Makes sense to reduce the clicks required there. I did a quick search and we have a suggestion existing for this feature. Please feel free to add your vote there and follow it. We’ll post updates to the ticket.
https://developercommunity.visualstudio.com/content/idea/1067149/merge-and-delete-branch-in-a-single-operation.html
BTW, you don’t have to visit GitHub to delete the remote branch. You can go to the remote branches in the branch list and right-click Delete the branch from there. That will delete it on the server as well.
Great! But now can we get the Pull Request working for team explorer or new git? Also the work items associate with changes how does that work? Doesn’t seem to be working but I also didn’t have any changes to actually commit. So only other thing is being able to associate work item tickets with commits like i used to be able to in team explorer.
We plan to start updating the Pull Request experience soon. Currently we have an extension that provides support – https://marketplace.visualstudio.com/items?itemName=vsideversioncontrolmsft.pr4vs
And we haven’t added the Related Work Items section to the new Commit experience – https://developercommunity.visualstudio.com/content/idea/998951/new-git-window-add-link-commit-to-work-item.html
But you can still use the #id syntax to link a work item in the commit message.
As far as I can tell, when you enable the new Git experience it makes the Pull Requests plugin inaccessible from Team Explorer. Is there a way to use the new Git experience without losing access to the Pull Requests plugin?
Actually, to Force Push you must feel the force around you. 🤭
Enable the option, you must. And may the Force (Push) be with you. 😏
As ‘–force-with-lease’ is a better practice, perhaps you could add the support of this option?
Yep, the option we’re enabling there is ‘–force-with-lease’, since as you stated, it is safer than just ‘–force’. I’ll look into making that clearer.
This caused a side effect. Solution Explorer window has lost its red tick icon (file changed so different from git’s version) for everything except for C# files.
So if you change any *.chtml or *.ts file, the red tick does not appear anymore. Only appears against C# changed files. Please check.
Kind Regards.
We’ve logged a bug for this and will investigate. Thanks for the feedback!
Thanks for all the new features!
I have the “New Git user experience” preview feature enabled. I can follow along you blog post without any problem.
Except, I don’t get access to the Builds and Work Items from Team Explorer. Is that a known issue?
Never mind, the projects and repo (!) had been renamed by our sysadmin – it all works.
Awesome good to know!
In the “Incoming and Current” example you showed, was this for a “pull”, meaning the latest Master files are coming into your current/local copy? Or was it for a push, meaning your local changes are coming into the remove master copy?
Picking words for this is hard, but I think trying to use 1-word labels makes it much harder. In your example, “Incoming” isn’t clear to me, but I guess it would be if I knew the context of your example. I think you shouldn’t be scared to use several words as a label, to make sure it’s clear.
It was for a ‘pull’, so that changes are coming into my local branch. If you try to push before you pull your remote changes, then with the new streamlined push, we prompt you to pull first. Because we want to avoid pushing first in that scenario. Then if it results in any conflicts, you resolve them locally before you push. That’s why the naming implies remote changes coming into local.
If the conflict came from a push, then it probably would make more sense to say changes going out to remote. i.e. outgoing. And your remote is current But yes, that’s good feedback, and we’ll try to make it more clear. There’s an open suggestion ticket where we’ve been discussing – https://developercommunity.visualstudio.com/idea/502400/resolve-conflict-source-and-target-is-confusing.html
So for push, what would the labels say…would it be “Incoming” for the local copy and “Current” for the master/main?
The preview experience completely removes a feature I rely on to stay within Visual Studio when switching projects. In the current version going to the Home view shows all solution files found within a repository. This saves my team and I many steps when switching projects and the loss in a future version would be devastating.
Thanks Kyle, that’s a known gap in the new Git experience. We’re working on a design proposed in this suggestion ticket – https://developercommunity.visualstudio.com/idea/991502/team-explorer-or-new-git-panel-is-not-showing-the-3.html Please add your voice there.
I’ve also detailed some workarounds in the comments. Try if those will work for you in the meantime?
Is it still possible to link an Azure DevOps work item to a git commit? I don’t see the option and have made sure I’m conneted to a DevOps project in Team Explorer
Unfortunately we don’t have a dedicated Work Item section hooked up yet. Please add your vote to the suggestion ticket for this issue – https://developercommunity.visualstudio.com/content/idea/998951/new-git-window-add-link-commit-to-work-item.html
Regardless, you still have the ability to link work items to commits by using the standard #id syntax supported in the Git commit message. Try it out!
This alone is enough to make me NOT use the new git experience. Every single checkin must be associated with a work item from Azure Dev Ops, so if that is difficult to get to, then you guys have just completely busted the git experience inside VS. Not having this undoes every ounce of good stuff this change brings.
I just can’t over state enough how bad it is to not have the ability to associate a work item with the git commit on the same screen. I will go vote up the issue you linked to.
I have been facing an issue with the new git experience after initializing a local git when i need to push my code online its keeps forcing me to use Github or Github enterprise and there is no option to choose azure repos and all our previous projects are hosted with azure repos….
Yes we don’t have an explicit command yet to init and push to a new Azure DevOps hosted repo. But what you can do is to create the repo on Azure DevOps through the browser, copy the link to the repo and use the ‘Existing remote’ tab from the Create repo dialog to push your newly initialized repo to any remote that you want.
That’s what we did years ago. But meanwhile several good tools can create repositories and publish them on Azure without using a web browser and copy and paste links. Even Visual Studio can without this exciting new feature.
I created this suggestion ticket to track and prioritize the request to add that functionality. Please upvote if it’s important to you. https://developercommunity.visualstudio.com/content/idea/1112915/create-and-push-a-new-repo-to-azure-devops-in-the.html
Plugin becomes better and better. But I was just wondering – when Git submodules will be fully supported? I mean – enlisting changes made to the files located in submodule? Now VS shoes just change in submodule but refuses to show concrete files. VS Code on the other hand – has no problems with this scenario. Opening VS Code just for this…
Thanks!
Hey we haven’t gotten to full submodule support yet. There are a few functionality changes we need to make before we can properly implement it. But it’s on our backlog! When we get to it, we’ll update the ticket here – https://developercommunity.visualstudio.com/content/idea/351549/full-git-submodule-support.html
I enabled the preview in VS Community 16.6.3 but i only get a Git window – Not a Git Changes one. Cant seem to find all the functionality that was organized under Team Explorer. Also no icons next to the branch names to show me which track a remote branch. Sync section is nowhere to be found. I cant seem to find Manage Branches anywhere, so i can fetch remote ones. The git repo window doesnt exist (is this only on the Preview version?).
It doesnt seem like the changes make things easier and more streamlined, unless all these are only available in the Preview Version.
Hi yes all of the features you’re missing are in the latest Preview version (16.7 Preview 3) of Visual Studio. The latest GA Release has a limited subset of these features and will get them in the next update. You can try out the new features by installing Preview side by side with your Release channel – https://visualstudio.microsoft.com/vs/preview/
Is it available for Visual Studio 2017?
Ah sorry nope, we’re developing new features only in VS 2019. Is there a reason why you can’t upgrade to the latest release?
One feature I use from Git Extensions is to be able to see all remote branches that have changes.
It would be good to be able pull the changes to all local branches without a need to checkout each one and do a pull manually. Of course, if there are conflicts a manual merge may be needed.
You can use the Fetch button to fetch incoming changes from all branches on your remote. You would still need to Pull each branch individually. Thanks for the feedback!
The new Git experience definitely seems the way to go. However, it’s lacking some features too crucial to me.
Here‘s my feedback in the Developer Community.
Thanks for the feedback! I’ve commented directly on your Developer Community ticket 🙂
Is there a link in the new Git experience where I can click to go to my Azure DevOps repo in a browser? If there is, I cannot find it 🙁
We’ve moved all settings to the Tools – Options dialog. If you want to view and manage your remotes, you can go to the Git menu – Manage Remotes….
Maybe I should clarify:
If I use Visual Studio to clone a GitHub repo (example: https://github.com/JamesNK/Newtonsoft.Json), is there a clickable link in the Visual Studio UI for me to launch a web browser for that hyperlink?
Same scenario, for an Azure DevOps repo (example: https://dev.azure.com/{organization}/{project}/_git/{repo}), is there a clickable link in the Visual Studio UI for me to launch a web browser for that hyperlink?
I have added this suggestion as a comment to the following item in the Developer Community portal:
https://developercommunity.visualstudio.com/content/idea/975364/copy-url-to-azure-devops-repo-file-view-from-visua.html
Understood. Thank you!
With the new features enabled, there doesn’t seem to be any way to push to a secondary remote. The only option is to push to “origin”. Surely that can’t be right?!
Unfortunately that’s where we are right now. We want to add the functionality for managing multiple remotes and are designing it now. It’s on our roadmap – https://developercommunity.visualstudio.com/idea/1052042/new-git-experience-select-remote-to-push-to-when-h.html
I appreciate the effort in trying to improve the git integration with VS. However, this is lacking one big piece. When you switch branches, do a pull it is difficult to tell if those operations completed successfully. When a build is running there is an indication in the footer bar that it finished. Why can’t you do something like that for a pull or switching branches? Right now you have to open up the Output window, select Git from the drop down, and watch it carefully to be sure it’s something new from the last time since there are no timestamps.
You should be able to see the success notification at the top of the Git Changes tool window. Please ‘Report a problem’ if you’re not seeing it, or if it’s not easily discoverable for your workflow.
I noticed that when you click on the commits that haven’t been pushed in the footer, it doesn’t take you to the Git window like it used to take you to the Team Explorer so you can see those commits. Is that functionality going to come back?
Yes, that functionality is back! Clicking on ‘unpushed commits’ in the status bar will take you to the Git Repository window where you can see the outgoing commits for that branch. From there, you can look at commit details or directly push them.
Good work, thank you.
Just a small niggle, but hopefully easy to fix:
When committing and then pushing I need to copy the hash code so I can insert it into our bug tracking system and my work log.
In the old workflow, I just selected the hash and Ctrl C.
Now: Click on it, new window opens, select the hash, Ctrl C, close window.
If you click and Ctrl+C on the Commit in the branch history as well as in the Commit details pane, the hash code will get copied. So not sure, which UI are you trying to Ctrl+C the commit hash from?
Just thought I would take the opportunity to plug the feature request I put in a while back
https://developercommunity.visualstudio.com/idea/970862/git-branch-comparison-aka-pull-request-preview.html
any feelings/off-the-cuff reaction to this?
I really curious on the software that you use for capturing motion of your tutorial. in 100% honesty and 30% of will effort.
A nifty tool called ScreenToGif 🙂
We seem to have lost the ability to get any Git menu’s in Solution Explorer. I always used “Compare With Unmodified” under Solution Explorer now I have switch to Git Changes Windows Find the File (which was highlighted in Solution Explorer), right click… That’s a lot of extra steps.
Sorry about the delay on that. It’s coming in 16.8 Preview 1 🙂
Just a heads up, this is a huge one for me too.
Is there a plan a plan to provide documentation or tutorial on how to use some of the new functionality? Thinks link Branch Tree and Cherry-Pick would be helpful. Is it possible to just Cherry-Pick a file from one branch to another (from Master to Feature for example).
Yes! We are in the process of writing documentation for the new Git experience. In the meantime, we have a ton of good docs and tutorials on Git available in our Azure DevOps documentation. Here’s the info on cherry picking – https://docs.microsoft.com/en-us/azure/devops/repos/git/cherry-pick?view=azure-devops&tabs=visual-studio
When will we be able to check in changes to submodules like we can in VS Code?
That’s on our roadmap. Apologies it’s taking some time. https://developercommunity.visualstudio.com/idea/351549/full-git-submodule-support.html
I started to use the new Git window and overall I like it. Few things that I am missing from Team Explorer
1. Be able to view the Git tags (only Local/Remotes now)
2. Be able to drag/drop files into in from Changes to Staged Changes
3. Linking work items (but can live with just using #123 in the comment)
Keep up the good work! I was never a big fan of the Team Explorer (which I only use for Git)…everything else in the browser
Thank you! These are features that we’re tracking on our backlog. It’s a work in progress 🙂
I very much miss recursive “traffic lights” (status icons) in solution explorer, just like VisualSvn has. Having status icons only on lowest level (the changed files) is extremely annoying once you have ever used VisualSvn.
Thanks for the feedback. I’ve created this feature suggestion for us to prioritize. Feel free to upvote and share it 🙂 https://developercommunity.visualstudio.com/idea/1145909/show-git-status-icons-at-all-levels-in-solution-ex.html
I have been using Git in Visual Studio 2019 it’s such an improvement over VS 2017 Git extension. The project I am working with others is over a quarter million lines. The speed of the new VS 2019 version is great and integration is really smooth.
That’s great to hear! Happy coding 🙂
Surprisingly I like what you’ve done with the new Git Repository window so far.
1. I miss the equivalent of the Team Explorer dropdown and toolbar. These made navigating between windows etc so much easier than what you seem to have to do now.
2. I’m puzzled why you need to double-click on a branch to see the history for that branch. A single click would make a lot more sense. I would expect that a double-click would check the branch out, while a single click would show the history.
3. Are you planning to add back a list of “local” repositories? And the ability to “add” them from a folder/folders on disk? This list was a very handy way to quickly open repositories that may not have been pushed to a remote repository. I know you can do it via things like the Start Window, but it’s quite an obtuse way of doing it compared to the Team Explorer local repositories list.
Finally, if you want people to actually use the new Git windows in 16.7, there should be no lost functionality from what there was available in Team Explorer. I keep reading comments from developers that this this missing feature, or that missing feature, makes the new experience unusable for them, and I have to say that I strongly agree with those comments. Many of us just won’t be able to use the new experience/windows if there’s missing functionality. Workarounds where you have to go searching through various parts of Visual Studio are not going to solve most developers’ problems. After all the new Git experience is supposed to make using Git easier not harder, right?
Unfortunately lost, or missing, functionality is not a bug… it’s a feature of modern Microsoft development teams as they use Agile development methodologies in almost all of their products. This results in a nightmare scenario for customers as just about every product has partially implemented functionality as they drop existing features and slowly push out pieces of the supposed replacement.
Thanks for the feedback! I understand what you’re saying in terms of lost functionality. Our primary goal before making this experience the default is to ensure a parity with Team Explorer so that developers are not blocked in doing what they could before. Until then and even beyond, Team Explorer will still be available as we continue to get feedback and iterate.
Single click to see branch history is coming soon! We got mixed feedback about double-clicking to check out branch. What if you double click by accident, checking out can be an expensive operation. But we have a suggestion ticket to track that request. Happy to hear your thoughts there – https://developercommunity.visualstudio.com/idea/1124138/git-repository-tab-double-click-on-a-branch-doesnt.html
First version of a local repositories list is also coming soon – https://developercommunity.visualstudio.com/content/idea/987300/can-no-longer-see-all-local-repositories-by-clicki.html
agree. I see that if I open some project form existing local repo, VS shows this repository as if it was added. But if I open VS next time with empty environment, I don’t see any previously connected repos and only have 2 options: create new repository or clone existing one.
Please consider to keep track of already connected repositories, so that people can see it on some prominent place
Hey!
Thank you for the feature! Its working wonders!
I’ve used TFS (or Azure DevOps) with Visual Studio earlier and I’ve grown quite fond of the Source Control Explorer it has.
Do you plan on implementing a Source Control Explorer similar to the one used with TFS? Could it be implemented?
– Abel
You’re welcome! We actually haven’t looked into bringing in Source Control Explorer. What would be the main use cases that you would need it for in Git?
The new interface is sleek. However, I could not find how to work with git tags.
Thanks! And yes, we’re still working on full tags support. You can still create a tag from a commit. But are you missing a tags list or just the ability to push tags? https://developercommunity.visualstudio.com/idea/1043472/new-git-user-experience-cannot-push-tags.html
Not sure if i’m being silly but i cant seem to find the tags page which used to be in the team explorer. How do i push new tags in the new interface?
Thanks
That’s not you, that’s us. We haven’t yet built Tags support in the new interface. Track the feature here – https://developercommunity.visualstudio.com/idea/1043472/new-git-user-experience-cannot-push-tags.html
I have upgraded to VS 16.7 and activated the ‘New Git user experience’, love it!
I then create a new project and wish to create a repository in Azure Devops. In the Git Changes window I press ‘Create Git Repository..’ button.
A new window ‘Create a Git Repository’ opens with the following options:
– GitHub
– GitHub Enterprise
– Existing remote
– Local only
There is no Azure option, so how can I create a new repository in Azure Devops?
The way to do that would be to create an empty Azure DevOps repo in the browser, then take the link and use the Existing Remote option in the ‘Create a Git Repository’ window. If you would like that experience built-in separately, please upvote this suggestion – https://developercommunity.visualstudio.com/content/idea/1112915/create-and-push-a-new-repo-to-azure-devops-in-the.html
Thanks!
Git changes window is awesome. I wish git diff option should have been there.
If you double click on a file in the Git Changes window, you will be able to see the diff of the file. Make sure you have the ‘Compare File as Default Action’ option selected in the overflow menu.
I switched to the new GIT preview, and I am not finding a way to see the incoming commits for a branch after I FETCH. Also once I commit, I have to open up the branch history to see the commit details. I really liked the ability to easily view these before pulling and pushing.
You can access the Git Repository window from the status bar, View menu, Git menu or the Git Changes window outgoing/incoming link under the branch name. The commit history of the branch will now show you incoming commits after a fetch and outgoing commits before you push. Let us know if you’re not able to see these in the latest update!
Just got this today and I have to say, as an Azure Devops user I am not impressed at all. What was originally contained in one easy to manage Team Explorer window is now split between two different windows. I enabled the preview for about an hour, but it was too cumbersome to deal with. I switch between solutions constantly, so stripping this functionality out of Microsoft’s OWN product (DevOps) window, seems a little ridiculous. I understand DevOps repos at their hearts are Git based, but come on. About the only think I liked about this ‘feature’ is I no longer saw duplicates (listed under Azure DevOps server, as well as local git repositories). I think your time would have been much better spent getting VS to recognize a repository is listed under both areas and eliminating that bit of confusion. Please make this an optional feature and DO NOT make this the standard. 1 of 5 stars simply because they cleaned up the duplicate repositories.
I’m sorry that the experience wasn’t up to your standards, Joe. It’s a work in progress and that’s why we haven’t made this the default experience yet. We’re building in a solution list and a local repositories list into the new experience soon. We’ll update you when it’s available to try so that you can give it another shot. If there are other features that you are missing as an Azure DevOps user, then please report them so that we can prioritize building those features. Thanks for the feedback!
Nice, enjoying this a lot and is going in a really good direction!
The one thing I’d love most of all and I had a request on the old version for years that’s in other git tools in an ahead/behind counter. Tools like GitKraken pull at intervals down the remote info and it’s displayed on the branches. If it could be added to the branch switching area as well on the bottom right so we can see if there’s ahead/behind on the current branch that would be amazing. Tried creating an extension for this in VS years ago but couldn’t quite get it right
That’s great feedback and would be super helpful information. It’s something we haven’t built yet, but we’re tracking it here – https://developercommunity.visualstudio.com/content/idea/716126/it-would-be-nice-if-git-branches-had-badges-indica.html
Do i see it correctly that there is no way anymore to change the current repository? We have a repository with a bunch of files which are not code and if a wanted to make a commit i could just open a VS project, switch the repo and then do my commit as usual. But i can’t find that possibility anymore.
That’s correct for the moment. We understand that it’s a gap in the feature set and are building out this functionality. Here are the proposed designs – https://developercommunity.visualstudio.com/content/idea/987300/can-no-longer-see-all-local-repositories-by-clicki.html. Please take a look and let us know if that works for you!
The only way I noticed this had changed and was around was due to the right click menu option in the solution explorer in VS 2019 disappeared. I spend most of my time working in the solution explorer as my main screen. It was very nice being able to right-click on my solution and clicking “Commit” for it to take me seamlessly to another window. Can you add that little shortcut back in?
Yes we needed to link that context menu to the new Git Changes window, and happy to say that it’s done now! You can right click in Solution Explorer or on a file in the Editor to get a Git menu in version 16.8 Preview 1.
Hi there,
quick one , Enabled preview feature but could not find “Sync” . Am I missing the obvious?
There is no specific Sync page like there was in Team Explorer. Instead, you can see the number of un-pushed outgoing commits and un-pulled incoming commits right below your branch name in the Git Changes window. Clicking on that link will take you to the branch history in the Git Repository window, which shows you the details of those commits. From there you can Pull or Push. Try out if that works for you!
Whenever I switch branches my .sln file has a red tick even though there are no changes. Before I installed the Preview version of the new Git Experience I would just “undo” these changes but now when I try to do this the * (and red tick) re-appears and the change is re-made even though there are no changes in the file. I don’t understand why there is a change shown as when doing a “diff” on the file it shows no difference with the unmodified file. This only happens for the .snl file.
Were is the Solution Open Section like in the previous one ?
It’s coming soon to Solution Explorer -> https://developercommunity.visualstudio.com/comments/1024511/view.html
It’s great that you are working on improved git experience. But you should not destroy existing integration completely.
Why the integration with Azure DevOps – your intended primary server (isn’t it?) – is broken?
The new git experience was active for less than 5 minutes…
(version 16.7.2)
Why can’t we force push in a one-off manor? I like the way IntelliJ does it.
Changing a settings breaks my context & I have to remember to turn if back off.
The new Git “experience” has removed all the navigation from one pane and makes more windows pop up.
Looking at a Stash causes another window to pop up and provides no way to navigate back to changes.
The Git repository window is now separated from the changes pane as well.
Instead of being able to just navigate between the modules using the Home icon or Back buttons in the original Git window, we now have two new windows which pop-up and a sad drop down of branches to switch between branches while looking at changes.
Also, stash details has been broken in the Preview experience when you disable the Preview feature; it no longer opens within the same window and we lose the ability to navigate back.
As a user who uses this feature daily, you’ve broken my workflow and replaced it with something much worse.
If this becomes the only Git experience in VS, I guess I won’t be updating anytime soon.
How can we navigate between multiple solutions (.sln) in the same git repo? The old team interface would supply a list of solutions it found on the Team home page.
I can navigate to the explorer folder and open each of the solutions but cannot seem to find each solution file through the UI any more.
I like the simplification the new UI offers. I am sure these problems are WIP.
M.
I guess this is a dupe of Eric Brunner’s question.
I would like to add that a pain point is also the registering external diff and merge tools.
Once one loads the tools in one or both(?) git configs one sees their tool of choice grayed out and the `Use Visual Studio` is selectable; which I believe is counter productive. IMHO – Thanks.
—-
For anyone happening to read this, I had to configure Araxis Merge and detailed it on Stackoverflow
I don’t see an option to push tags to remote? Maybe it works if I make a tag inside visual studio, but if I tag something locally in another git application, I can’t push it anymore from “Git Changes”
How do we open a local git repository (non-VS solution, e.g. Angular)?