I have noticed TortoiseGit seems to contain every feature branch I ever created, both in drop-downs for local branches AND remote, even though many of the remote branches were d
You can delete the local branches from pull window.
Steps-
Step 2 - Image for selecting the branch from Remote Branch list:
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.
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:
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).
TortoiseGit synchronizing the branches listed to those actually existing is a feature request.
At least you can use Shift + Delete to remove the item you don't want: Open the dialog, open the combobox for the list of branches, in the expanded list position the mouse pointer on one entry and shift+delete it.
The items in Remote Branch drop list are cached by TortoiseGit. Max size is 25.
Next time you want to pull, the suggestion list will contain only the name of the current branch.