使用 git 2.7 (Q4 2015), git for-each-ref
, 将支持该--no-merged
选项
git for-each-ref --no-merged master refs/heads/
使用文档:
--no-merged [<object>]:
仅列出无法从指定提交(如果未指定,则为 HEAD)提示的 refs。
请参阅提交 4a71109、提交 ee2bd06、提交 f266c91、提交 9d306b5、提交 7c32834、提交 35257aa、提交 5afcb90、...、提交 b2172fd(2015 年 7 月 7 日)和提交 af83baf(2015 年 7 月 9 日),作者为Karthik Nayak(KarthikNayak
)。
(由Junio C Hamano 合并gitster
——在提交 9958dd8中,2015 年 10 月 5 日)
git tag -l
" " 和 " " 中的一些功能git branch -l
已提供给 " git for-each-ref
" ,以便最终可以在一两个后续系列中在所有三个之间共享统一的实现。
* kn/for-each-tag-branch:
for-each-ref: add '--contains' option
ref-filter: implement '--contains' option
parse-options.h: add macros for '--contains' option
parse-option: rename parse_opt_with_commit()
for-each-ref: add '--merged' and '--no-merged' options
ref-filter: implement '--merged' and '--no-merged' options
ref-filter: add parse_opt_merge_filter()
for-each-ref: add '--points-at' option
ref-filter: implement '--points-at' option
使用 Git 2.29(2020 年第四季度),“ git for-each-ref
” (man)和列出 refs 的朋友用于仅允许一个--merged
或--no-merged
过滤它们;他们学会了结合这两种过滤。
请参阅Aaron Lipman ( ) 的提交b59cdff、提交a1b19aa ( 2020 年 9 月 18 日)和提交 21bf933、提交 415af72、提交 b775d81(2020 年 9 月 15 日)。(由Junio C Hamano 合并 -- --在提交 26a3728中,2020 年 9 月 22 日)alipman88
gitster
ref-filter
: 允许merged
和no-merged
过滤
签字人:Aaron Lipman
启用 ref-filter 处理多个merged
和no-merged
过滤器,并将功能扩展到( man )、( man )和.
这提供了一种简单的方法来检查“毕业候选人:git branch
git tag git
for-each-ref
$ git branch --no-merged master --merged next
如果通过了多个合并(或多个no-merged
)过滤器,则 refs 必须可以从任何一个合并提交中访问,并且不能从任何提交中访问no-merged
。
filters
现在在其手册页中包含:
当组合多个--merged
和--no-merged
过滤器时,仅显示可从至少一个--merged
提交中访问的引用,并且从不显示任何--no-merged
提交。
注意:相同的 Git 2.29(2020 年第四季度)添加了一个修补程序。
请参阅René Scharfe ( ) 的提交 5336d50(2020 年 9 月 26 日)。(由Junio C Hamano 合并 -- --在提交 03b0198中,2020 年 10 月 4 日)rscharfe
gitster
ref-filter
: 插入内存泄漏reach_filter()
签字人:René Scharfe
21bf933928(“ ref-filter
:允许合并和不合并过滤器”,2020 年 9 月 15 日,Git v2.29.0 -批次 #16中列出的合并)添加了对.
通过推迟分配它直到我们知道我们需要它来避免泄漏当时未使用的数组的内存。reach_filter()