查看 Git 分支是否已经合并, 有什么好办法?

浏览:48日期:2023-10-29

问题描述

多人开发使用了较多分支, 有些还没觉得及时清理, 结果积累下来不少,有些比较容易看出来手动删掉, 有些就不大清楚了...往 commit history 里看会比较麻烦, 有没有比较方便查看的办法?

另外合并的话, 有时候合的是 git merge branch-a,有时候合并会是 git merge origin/branch-a,查看是否合并是否可以不受这个区别的影响?

问题解答

回答1:

试试:- git branch --merged- git branch --no-merged

回答2:

也可以试试 git log | grep branch_name

回答3:

推荐一个工具 tig效果如下:查看 Git 分支是否已经合并, 有什么好办法?

大写的 M 代表的就是 merge 操作,这样看应该很清晰吧,每个分支的历史都可以看得清清楚楚,当然号称 git 浏览器的 tig 的作用不仅如此,还有更多强大的地方,非常值得一用。

回答4:

分支如果是显式merge,直接git branch -d xxx就行,如果没有显示merge,这个命令是不执行的。

但是有些分支可能被隐式merge,也就是它的代码被合并到了主干(merge --squash/rebase),但是没有执行过显式的merge,这时候怎么办呢。比如这个分支叫feature,主干是master

git checkout featuregit rebase master(以master为基 rebase)解决下冲突这时候feature分支就是以master HEAD为基的分支了,之后是merge还是丢弃随你便。。当然rebase后发现feature和master 指向同一个HEAD,那么这个分支肯定是合并过的,直接-d删掉即可

相关文章: