Deleted remote branches still listed in TortoiseGit

You can do, as mentioned in issue 1139, a Fetch with prune.
Or remove Remote Branch from list in Pull issue 2765.

That will clean-up any remote branches still locally referenced, while they are already deleted in the upstream repo.

http://wiki.typo3.org/wiki/images/1/18/Tortoisegit_fetch.gif

in terms of Git itself is a local version of a branch considered totally decoupled from the remote?

It can be.
If a branch has an remote tracking branch associated to it, git branch -vv can show it.

But removing said remote tracking branch has no bearing on the local branch.

i.e. there is no reason why deleting the remote version should automatically mean the local one is deleted?

Sure: you pushed by mistake a 'test' branch:

  • you want to delete it on the remote repo
  • but you very much want to keep it on your local repo to pursue some local tests you have no intention of pushing.

You can delete the local branches from pull window.

Steps-

  1. Open pull window. (Right click in project directory, select TortoiseGit -> Pull )
  2. Select Remote Branch dropdown and use keyboard arrow keys to select the branch you want to delete.
  3. Once branch is selected, press shift + delete button in Windows OS(not sure about mac, you need to find some combination for it).

Step 2 - Image for selecting the branch from Remote Branch list:

Step 2- Image for selecting the branch from Remote Branch list


To the last question, I believe that's an aspect of being "distributed". While local repo and remote repo may share contents to each other, they exist independently.

In practice this design may prevent trouble. If fetch completely reflects changes of "local branch in remote repo" to "remote branch in local repo", and someone removed a branch in remote repo, we will lose one local pointer of some commit (maybe the last one).


There's now** an option in the 'Sync' dialog (under the 'Pull' list) to clean up stale remote branches:

enter image description here

This does exactly what you want for the remote branches in a single click!

To clean up local branches, you still need to delete them individually: if you click on the '...' button next to the 'Local Branch' pulldown menu from the 'Sync' dialog, you'll get a full list, where you can select branches and just hit 'delete'. (It'll ask for confirmation.)

**Added in 2012 with edec66b1 from Issue 1139. I guess nobody noticed!