![](/img/trans.png)
[英]Git branch --merged / --no-merged and --squash option
[英]git branch flag for --no-merged and not --contains?
git branch --contains master
返回其提示master
可達的分支的名稱。
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, Sept. 2015) 。
--no-contains
快速搜索顯示此選項不存在(在 git repo 的任何分支中:
MINGW64 ~/git/git (master)
$ git branch -a | tr -d \*|grep -v origin|xargs git grep --break --heading --line-number 'no\-contain'
因此,您需要編寫腳本,列出所有未由--contains
選擇的--contains
(但在--no-merged
中列出)。
“
git tag/branch/for-each-ref
”系列命令長期以來允許通過以下方式過濾參考:
- “
--contains X
”(僅顯示作為X
后代的引用),- “
--merged X
”(僅顯示作為X
祖先的引用),- “
--no-merged X
”(僅顯示不是X
祖先的引用)。一個奇怪的遺漏,“--
--no-contains X
”(只顯示不是X
后代的引用)已添加到它們中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.