这些分支不再存在于远程原始服务器上,
然而我无法通过
删除 gb -D origin/feature/support-auto-backup
要么
gb -D remotes/origin/feature/add-discussion
我遇到了这种异常error: branch 'origin/feature/support-auto-backup' not found.
我怎么能删除所有这些?
remotes/origin/feature/add-discussion
remotes/origin/feature/add-ios-push-notification
remotes/origin/feature/add-monitor-and-upstart-service
remotes/origin/feature/add-ng-highcharts
remotes/origin/feature/add-paypal-support
remotes/origin/feature/move-status-watch-to-admin
remotes/origin/feature/periodic_prices_rake_task
remotes/origin/feature/personal-watch-list
remotes/origin/feature/refactor_to_new_model
remotes/origin/feature/structure_refactor
remotes/origin/feature/support-auto-backup
remotes/origin/feature/support-currency-conversion
remotes/origin/feature/support_add_other_emails
答案 0 :(得分:0)
简而言之,使用git fetch --prune
或git fetch -p
。这将从远程获取更新的分支列表,并更新远程分支的集合以反映该分支。如果您有不再存在的远程分支,那么这些分支将被删除。
The manual解释了这个选项:
<强>
-p
{
{1}} 强>获取后,删除遥控器上不再存在的所有远程跟踪引用。如果仅由于默认标记自动跟踪或由于
--prune
选项而提取标记,则不会对标记进行修剪。但是,如果由于显式--tags
(在命令行或远程配置中,例如,如果使用refspec
选项克隆了远程),则会获取标记,那么它们也受制于修剪。
如果要从本地存储库手动删除远程分支,则不能只使用--mirror
或git branch -d
。默认情况下,它只允许您访问本地分支,但不能访问远程分支。但是,您可以使用git branch -D
或--remote
选项删除分支。请注意,您只需指定远程分支名称,而不指定前导-r
,例如:
remotes/
git branch
手册中也解释了此功能:
将
git branch -d -r origin/feature/add-discussion
与-r
一起使用以删除远程跟踪分支。请注意,如果远程存储库中不再存在远程跟踪分支,或者如果git fetch配置为不再获取它们,则删除它们才有意义。另请参阅git-remote[1]的prune子命令,了解清除所有过时的远程跟踪分支的方法。