确定可以安全删除哪些远程分支

时间:2013-01-09 20:43:44

标签: git

我有一堆远程git分支:

remotes/origin/<branchname>等......

我知道其中大部分都可能被删除。

  1. 查看哪些已完全合并为母版的最佳方法是什么?这些我想先删除。
  2. 查看其余分支的未合并提交的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

git branch -r --merged master能做你想做的吗?

答案 1 :(得分:1)

获取此信息的一种方法是:

git branch -vv

这将列出每个分支是最新的,提前还是后退,但它是专为人类阅读而设计的,因此不容易解析进一步的脚本。如果你需要采取这条路线,可能会有更好的方法。

查看其中一个GUI可以直观地告诉您哪些分支未合并,但是根据您拥有的分支数量,这可能会很乏味。

编辑:另一种选择是:

git show-branch --independent | xargs git name-rev

这基本上显示了哪些分支无法从任何其他分支到达,但也可能在列表中包含master,因此您可能需要稍微修剪输出...

答案 2 :(得分:0)

这个git log命令用于查看分支如何相互关联。

  

log --oneline --decorate = short --graph --all --simplify-by-decoration

并将未修饰的提交添加到上面,只需删除--simplify-by-decoration

即可
  

log --oneline --decorate = short --graph --all

此外,不是直接回答您的问题,而是与查看提交需要注意的内容相关,此版本仅显示未通过推送的romote跟踪分支上的提交。

  

log --oneline --decorate = short --graph --all --branches --not --remotes

答案 3 :(得分:0)

我的第一选择是尝试使用git branch -d删除它(小写d)。如果分支尚未完全合并,那将失败。