我试图在一个相当大的项目中清理一些分支。我们基本上拥有master,一堆发布分支(其中只维护最新版本),并且每个版本都有功能/ bug修复分支。
该过程通常是错误修正/功能分支 - > current-release-branch - >主
现在我可以看到有相当多的旧功能/ bugfix分支超前于master - 但我想要做的是找到它们是否至少合并到发布分支。
然后我至少可以清理已经合并以释放分支的所有feature / bugfix分支,让我只手动计算a)在发布分支上的master中缺少什么, b)任何从未合并的特征分支。
答案 0 :(得分:2)
git branch -a --merged {commit}
列出可从指定提交到达的所有分支
--no-merged
列出所有不可到达的分支
这就是你需要的。
http://git-scm.com/docs/git-branch
"使用--contains,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支)。使用--merged,将仅列出合并到命名提交的分支(即,可以从命名提交到达提示提交的分支)。使用--no-merged时,仅列出未合并到命名提交的分支。如果缺少参数,则默认为HEAD(即当前分支的尖端)。"
答案 1 :(得分:0)
就像
一样简单git branch -a --contains <id>
<id>
可能是变更集i,标记名称或分支名称