Deleted remote branches still listed in TortoiseGi

2019-03-17 09:45发布

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 deleted after being merged into master.

Is there a way in TortoiseGit to synhronise which branches are listed to those actually existing?

And a slight tangent... in terms of Git itself is a local version of a branch considered totally decoupled from the remote? i.e. there is no reason why deleting the remote version should automatically mean the local one is deleted?

2条回答
孤傲高冷的网名
2楼-- · 2019-03-17 10:00

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.
查看更多
Fickle 薄情
3楼-- · 2019-03-17 10:09

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).

查看更多
登录 后发表回答