137
votes

How can I refresh the list of remote branches in my Visual Studio Team Explorer panel?

In the Visual Studio 2017 Team Explorer, Branches panel, I could see the 10 or so branches in our VSTS instance.

Then in Chrome, I deleted some of the older branches and created a new branch.

Switched back to VS 2017, but the list of remotes/origin branches still shows the old list, and I can't find anyway to refresh it.

I tried changing to a different repo, the F5 Refresh on the Team Explorer header, I even closed and reopened VS 2017... but nothing refreshes the list to match what VSTS portal shows.

8

8 Answers

208
votes

If you want Visual Studio 2017 to ALWAYS prune on fetch (I do, I add and remove a LOT of branches for UI work), once you install 3rd party Git (can do from Settings within Team Explorer, Git section) there will be a new option in Global Settings (also in Git section) to 'Prune remote branches during fetch' which you can set to True. I did not have this option before updating my VS to 15.5 (I was on 15.0).

Location of prune setting

66
votes

You can Fetch in Visual Studio Team Explorer.

View => Team Explorer

enter image description here

45
votes

In your local repo directory, you should use git fetch -p (or git fetch --prune) command. Then you will find the deleted branches from remote won't showed in remotes/origin in VS Branches panel.

This is because git fetch won't check the tracking references exist or not from remote repo. But for git fetch -p, it will check if the tracking references exist or not and delete non-existing ones before fetching.

8
votes

If you use then new "New Git User experience" (Enabled by Tools -> Options -> Environment -> Preview Features -> having "New Git User experience" checked).

Then the steps to get to the same location as referenced by TerraElise answer above would be going to "Git" option on the top menu pane -> settings to the same location to set your "Prune on fetch" option.

enter image description here

enter image description here

6
votes

You have to fetch first. All Visual Studio is doing is interacting with your local repo. If you don't fetch the branches from the remote, it won't know they're present.

2
votes

Find the remote branch in remotes -> origin, then double-click that branch to get it selected locally. Now you can fetch/sync/etc.

Fetching a remote branch

1
votes

I use Visual Studio 2015 and I couldn't find most of the setting options mentioned in the other answers. Here is something that actually worked for me :

Go to Team Explorer tab--> Click on the "Home" button --> Sync --> Click on the "Sync" link

This is make Visual Studio to synchronize the branches between the Repository and your local version.

-2
votes

you can use the git command : git fetch -p