【发布时间】:2014-07-31 10:17:58
【问题描述】:
如何列出任何出现的本地分支(根据.git/config)来跟踪不再存在的远程分支?在这种情况下,远程分支位于 GitHub 上,但我怀疑它们的位置无关紧要。
例如:
- 我有本地分支机构,
a、b、c和d。 -
a正在跟踪origin/a和c正在跟踪origin/c。 -
b和d不跟踪远程分支。 -
origin/a已被合并回 master 并在存储库清理期间被删除;我不再需要保留本地分支a。 - 如果本地分支
a被检出到工作树,运行git fetch或git pull会导致错误Your configuration specifies to merge with the ref 'a' from the remote, but no such ref was fetched.
如何生成仅包含 a 和任何其他似乎正在跟踪不再存在的远程分支的本地分支的列表?
我想确定这些,以便我可以删除不再需要的过时本地分支。
该列表不应包含未跟踪远程分支的本地分支 b 或 d,也不应包含跟踪仍然存在的 origin/c 的 c。
【问题讨论】:
-
您需要检查
.git/config文件以了解哪些分支配置了上游,以及它们是哪些。假设一个本地分支有一个同名的上游会让你陷入困境。 -
我已根据您的更新修改了您的问题,如果修改仍然不符合您的要求,请查看并回滚
-
@STW 您的修订并没有真正传达我的要求。我将再次修改问题。
-
@SteveCrane 很酷,您的编辑看起来不错。我很确定我在下面的修改后的答案就是您所需要的
标签: git