我正在和一个开发团队一起使用 EGit(用于 Eclipse)。我们一直在为新工作创建许多 feature
和 fix
分支,然后在它们完成后将它们 merge 到我们的 release
分支中。在将它们 merge 到正确的 release
分支后,通常会删除这些临时分支以保持我们的远程仓库干净。
我注意到当这些分支被删除时,我将从我们的远程仓库中获取,但 EGit 不会将它们从我的远程跟踪 View 中删除。我的远程跟踪 View 仍将显示已删除的分支,这些分支不再位于远程仓库中(并且没有迹象表明它们已被删除)。让我的远程跟踪 View 反射(reflect)实际 repo 的唯一方法(我发现)是手动删除我所有的远程跟踪分支(突出显示并删除),然后再次获取它们。这看起来很迂回,尤其是因为您可以通过命令行修剪远程分支,如下所示:
git remote prune origin
基本上,我想知道是否有一种方法可以配置/使 EGit 在远程跟踪分支更改时(在我获取之后)执行此修剪。这是我当前的获取配置我的 origin
Remote :
最佳答案
2014 年 3 月更新:如 cheshire 所述的 answer , EGit 3.3添加了修剪功能。
您可以在这个 Gerrit code review 中看到介绍的功能在 JGit (和 tested here)
entry fetch.prune
在 git config
中提到可以添加到您的 Egit 配置中:
原始答案(2013 年 3 月)
EGit perform this pruning when remote tracking branches change (after I fetch).
据我所知不是。
更一般地说,使用钩子(Hook)不可能在客户端每次获取后执行任何操作。
它有 been requested ,并且一度只在服务器端实现:hook post-upload
(在获取后运行),但出于多用户环境中的安全原因而被删除。
关于eclipse - EGit:修剪远程仓库上已删除的远程跟踪分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210929/