2016-12-30 12 views
2

タイトルとして、私はthe manualを無駄に読んでいます。<pattern>の形式はgit-branchにあります - リスト

私が見つけたのは、*がワイルドカードパターンマッチングであることです。

git br --list 'issues*6' 
issues/586 
issues/616 

ただし、マニュアルページではなく、自分で見つけました。

<pattern>の実際の形式は何ですか?

答えて

8

同じmanual page you linked(ただし、URLスキームの一環としてhttp://ではなくftp://付き)からの引用:

--listが指定された、または非オプションの引数がない場合は、既存の分岐が表示されている場合。現在のブランチはアスタリスクで強調表示されます。オプション-rを指定すると、リモートトラッキングブランチが表示され、オプション-aにローカルブランチとリモートブランチの両方が表示されます。 <pattern>が指定されている場合は、シェルワイルドカードとして使用され、一致するブランチに出力を制限します。複数のパターンが指定されている場合、いずれかのパターンと一致する場合はブランチが表示されます。 <pattern>を指定する場合は、--listを使用する必要があります。それ以外の場合、コマンドはブランチ作成と解釈されます。

少なくともドキュメントによれば、答えは「シェルのワイルドカードとして使用されている」ということです。これはもちろん、シェルのワイルドカードという意味が何であるかを知っていることを前提としています。さらに重要なのはが間違っています。です。シェルのワイルドカードが/で一致しないためです。

ドキュメントのような何かを言う必要があります:パターンは、特別扱いされないスラッシュを除いて、多くのシェルのワイルドカード/グロブパターンのように働く」というa*bマッチの両方accbac/cb、およびa[bc/]*試合a/dのすべてのように、abcdac/cb、およびaccbです。

例:

$ git branch -a 
    a/d 
    abcd 
    ac/cb 
    accb 
* master 
$ git branch --list 'a*b' 
    ac/cb 
    accb 
$ git branch --list 'a[bc/]*' 
    a/d 
    abcd 
    ac/cb 
    accb 
$ 
関連する問題