簡體   English   中英

--no-merged而不是--contains的git分支標志?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM