Git 显示不包含提交的分支

Git 显示不包含提交的分支,git,branch,dvcs,Git,Branch,Dvcs,git branch-a--contains为我提供了所有包含散列的分支。我想要的是git分支-a--no-contains。不幸的是,似乎没有实现这一点的命令,因此我认为解决方案如下: git branch-a的| grep-v输出(git branch-a--contains)但是我的bash不能胜任这个任务 似乎适用,但方法似乎比必要的复杂 实现上述目标的最佳/最简单的方法是什么?grep有一个匹配固定字符串的-F选项。对你的工作很有用 git branch -a | grep -vF "

git branch-a--contains
为我提供了所有包含
散列的分支。我想要的是
git分支-a--no-contains
。不幸的是,似乎没有实现这一点的命令,因此我认为解决方案如下:

git branch-a的| grep-v输出(git branch-a--contains)
但是我的bash不能胜任这个任务

似乎适用,但方法似乎比必要的复杂


实现上述目标的最佳/最简单的方法是什么?

grep
有一个匹配固定字符串的
-F
选项。对你的工作很有用

git branch -a | grep -vF "$(git branch -a --contains <hash>)"

由于如果分支名称部分匹配,则接受的答案将发生冲突,因此下面是一个处理此情况的答案

git branch -a | comm -3 - <(git branch -a --contains <hash>)

git branch-a | comm-3-添加了
--no contains
标志。

请注意,这将错误地隐藏部分匹配包含所述提交的分支名称的分支。e、 g.
echo-e“aaa\nbbb”| grep-vF“$(echo-aa)”
@antak谢谢!抢手货可见性:添加了
--no contains
标志。。如中所述。
git branch -a | comm -3 - <(git branch -a --contains <hash>)