git branch --contains mastermaster返回可到达其尖端的分支的名称。
git branch --merged master返回其尖端可从 到达的分支的名称master。
git branch --no-merged master返回其尖端无法从 到达的分支的名称master。
git用于显示其尖端既不能从 到达master,也不能master在其自己的祖先中到达的分支名称的标志是什么(可能在 的较新版本中?)?换句话说,哪个标志给出了 的效果--no-merged --no-contains?
换句话说,如何显示既不能快进合并到 master 也不能快进合并到 master 的分支?
2017 年 4 月更新,正如我在“如何列出包含提交的所有 git 分支”中提到的,Git 2.13 现在支持--no-contains该选项。
原答案
标志是什么(也许在较新版本的 git 中?)
首先,--(no-)merged您提到的标志最近已被概括为 ref-filter (git 2.7,2015 年 9 月)。
--no-contains
快速搜索发现此选项不存在(在 git 存储库的任何分支中:
MINGW64 ~/git/git (master)
$ git branch -a | tr -d \*|grep -v origin|xargs git grep --break --heading --line-number 'no\-contain'
Run Code Online (Sandbox Code Playgroud)
因此,您需要编写脚本,列出未选择的所有分支--contains(但在 中列出--no-merged)。
“
git tag/branch/for-each-ref”系列命令长期以来允许通过以下方式过滤参考:
- “
--contains X”(仅显示 的后代的引用X),- “
--merged X”(仅显示 的祖先的引用X),- “
--no-merged X”(仅显示不是祖先的引用X)。其中添加了一个奇怪的遗漏“
--no-contains X”(仅显示不是 后代的引用)。X
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |