相关疑难解决方法(0)

删除跟踪分支不再在远程

是否有一种简单的方法可以删除远程等效不再存在的所有跟踪分支?

例:

分支机构(本地和远程)

  • 产地/主
  • 产地/漏洞修复,一个
  • 产地/漏洞修复-B
  • 产地/漏洞修复-C

在本地,我只有一个主分支.现在我需要处理bug-fix-a,所以我检查它,处理它,并将更改推送到远程.接下来我用bug-fix-b做同样的事情.

分支机构(本地和远程)

  • 漏洞修复,一个
  • 漏洞修复-B
  • 产地/主
  • 产地/漏洞修复,一个
  • 产地/漏洞修复-B
  • 产地/漏洞修复-C

现在我有本地分支机构master,bug-fix-a,bug-fix-b.Master分支维护者将我的更改合并到master中并删除他已经合并的所有分支.

那么现在的状态是:

分支机构(本地和远程)

  • 漏洞修复,一个
  • 漏洞修复-B
  • 产地/主
  • 产地/漏洞修复-C

现在我想调用一些命令删除分支(在本例中为bug-fix-a,bug-fix-b),这些分支不再在远程存储库中表示.

它会像现有的命令git remote prune origin,但更像是git local prune origin.

git git-branch

996
推荐指数
25
解决办法
38万
查看次数

git remote prune,git prune,git fetch --prune等有什么区别

我的情况是这样......在同一个仓库工作的人从他的本地和远程仓库中删除了一个分支......

大多数在Stack Overflow或其他网站上询问此类问题的人都会git branch -a在其底部的远程跟踪分支列表中显示分支问题:

* master
  develop
  feature_blah
  remotes/origin/master
  remotes/origin/develop
  remotes/origin/feature_blah
  remotes/origin/random_branch_I_want_deleted
Run Code Online (Sandbox Code Playgroud)

但是,在我的情况下,不应该在那里的分支是本地的:

* master
  develop
  feature_blah
  random_branch_I_want_deleted
  remotes/origin/master
  remotes/origin/develop
  remotes/origin/feature_blah
Run Code Online (Sandbox Code Playgroud)

当我执行以下任何操作时,它不会在本地删除:

$ git prune
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

$ git remote prune origin
$ git fetch --prune
Run Code Online (Sandbox Code Playgroud)

更有用的信息:当我检查git remote show origin它是如何看起来:

* remote origin
Fetch URL: utilities:homeconnections_ui.git
Push  URL: utilities:homeconnections_ui.git
HEAD branch: master
Remote branches:
 master                        tracked
 develop                       tracked
 feature_blah                  tracked
 other123                      tracked
 other444                      tracked
 other999                      tracked
Local branches configured for 'git pull':
 develop                      merges with remote …
Run Code Online (Sandbox Code Playgroud)

git remote-branch

334
推荐指数
4
解决办法
25万
查看次数

标签 统计

git ×2

git-branch ×1

remote-branch ×1