多人开发使用了较多分支, 有些还没觉得及时清理, 结果积累下来不少,
有些比较容易看出来手动删掉, 有些就不大清楚了...
往 commit history 里看会比较麻烦, 有没有比较方便查看的办法?
另外合并的话, 有时候合的是 git merge branch-a
,
有时候合并会是 git merge origin/branch-a
,
查看是否合并是否可以不受这个区别的影响?
多人开发使用了较多分支, 有些还没觉得及时清理, 结果积累下来不少,
有些比较容易看出来手动删掉, 有些就不大清楚了...
往 commit history 里看会比较麻烦, 有没有比较方便查看的办法?
另外合并的话, 有时候合的是 git merge branch-a
,
有时候合并会是 git merge origin/branch-a
,
查看是否合并是否可以不受这个区别的影响?
推荐一个工具 tig
效果如下:
大写的 M
代表的就是 merge
操作,这样看应该很清晰吧,每个分支的历史都可以看得清清楚楚,当然号称 git
浏览器的 tig
的作用不仅如此,还有更多强大的地方,非常值得一用。
分支如果是显式merge,直接git branch -d xxx就行,如果没有显示merge,这个命令是不执行的。
但是有些分支可能被隐式merge,也就是它的代码被合并到了主干(merge --squash/rebase),但是没有执行过显式的merge,这时候怎么办呢。比如这个分支叫feature,主干是master
git checkout feature
git rebase master(以master为基 rebase)
解决下冲突
这时候feature分支就是以master HEAD为基的分支了,之后是merge还是丢弃随你便。。
当然rebase后发现feature和master 指向同一个HEAD,那么这个分支肯定是合并过的,直接-d删掉即可
2 回答1.3k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.2k 阅读
2 回答988 阅读
1 回答781 阅读
1 回答670 阅读
791 阅读
试试:
-
git branch --merged
-
git branch --no-merged