我注意到 TortoiseGit 似乎包含我曾经创建的每个功能分支,包括本地分支和远程的下拉列表,即使许多远程分支在合并到 master 后被删除。
TortoiseGit 有没有办法将列出的分支与实际存在的分支同步?
还有一点切线......就Git本身而言,它是一个被认为与远程完全分离的分支的本地版本?即没有理由删除远程版本应该自动意味着本地版本被删除?
我注意到 TortoiseGit 似乎包含我曾经创建的每个功能分支,包括本地分支和远程的下拉列表,即使许多远程分支在合并到 master 后被删除。
TortoiseGit 有没有办法将列出的分支与实际存在的分支同步?
还有一点切线......就Git本身而言,它是一个被认为与远程完全分离的分支的本地版本?即没有理由删除远程版本应该自动意味着本地版本被删除?
如issue 1139所述,您可以使用 prune进行Fetch。或从 Pull issue 2765
中的列表中删除 Remote Branch 。
这将清理仍然在本地引用的任何远程分支,而它们已经在上游 repo中被删除。
就 Git 本身而言,它是被认为与远程完全分离的分支的本地版本吗?
有可能。
如果一个分支有一个与之关联的远程跟踪分支,git branch -vv
可以显示它。
但是删除所述远程跟踪分支与本地分支无关。
即没有理由删除远程版本应该自动意味着本地版本被删除?
当然:你错误地推了一个' test
'分支:
您可以从拉窗口中删除本地分支。
脚步-
第 2 步 - 从远程分支列表中选择分支的图像:
对于最后一个问题,我认为这是“分布式”的一个方面。虽然本地 repo 和远程 repo 可以相互共享内容,但它们是独立存在的。
在实践中,这种设计可以防止麻烦。如果fetch
完全反映了“远程仓库中的本地分支”到“本地仓库中的远程分支”的变化,并且有人在远程仓库中删除了一个分支,我们将丢失某个提交的一个本地指针(可能是最后一个)。
TortoiseGit 将列出的分支与实际存在的分支同步是一个功能请求。
至少您可以使用 Shift + Delete 删除您不想要的项目:打开对话框,打开分支列表的组合框,在展开的列表中将鼠标指针放在一个条目上并 shift + 删除它。
远程分支下拉列表中的项目由 TortoiseGit 缓存。最大尺寸为 25。
下次要拉取时,建议列表将仅包含当前分支的名称。