如何检查我的所有分支是否等于主分支?

How to check if all my branches are equal to master branch?

我想知道是否有一个命令可以检查我的所有分支是否等于主分支。

我有一个 Github 存储库,我有很多分支,有时我忘记了我是否在给定分支上做了 "git rebase"。目前还好,后面会加很多分支,每个分支都要查,很无聊

如果有人有解决办法,谢谢:) The Github repo

在本地,您可以使用 git merge-base 将您的分支与 master 进行比较:如果结果是 master HEAD,则意味着您的分支等于或重新基于 master

您可以在“Is it possible to filter out merged branches in git for-each-ref?

中看到应用于所有分支的示例

在 GitHub 上,您可以 compare branches,但这必须一个分支一个分支地完成。

如果我对你的要求理解正确,git branch --no-merged HEAD(假设你目前在 master)可能就是你要找的:

来自 git-branch 联机帮助页:

--no-merged [< commit >]
Only list branches whose tips are not reachable from the specified commit (HEAD if not specified). Implies --list, incompatible with --merged.

否则,您可以遍历 git branch 输出的所有分支,并为每个分支执行 git diff agains master