git for-each-ref 不显示默认分支

git for-each-ref not showing default branch

我在 bash 脚本中使用此命令来构建当前本地分支的数组:

for branch in $(git for-each-ref --no-merged dev --format='%(refname:short)' refs/heads/); do
    branches+=("$branch")
done

它 return 是我所有的本地分支,除了 repo 的默认分支。我错过了什么?

我根据文档尝试了各种其他 "patterns" (https://git-scm.com/docs/git-for-each-ref) 包括 refs/heads/* 但 none return 默认分支。我确认无论我在哪个分支签出都没有关系,我无法在任何情况下显示它。

感谢任何帮助!

您在询问 git 在 dev 中哪些分支 未合并

这意味着只有在 dev 上有至少一个提交 not 的分支才会出现。 dev 永远不会出现在该列表中,无论如何。

要让所有分支都没有过滤器,只需去掉条件即可:

git for-each-ref --format='%(refname:short)' refs/heads/