2016-08-07 5 views
2

これはgitの設計哲学に反しているかもしれませんが、gitがブランチ全体を無視する方法はありますか?

私の組織では、私は絶えず例えば何千もの開発者ブランチを引き離しています。 Dev/<login>/<something...>

私はずっとgitを持っていますが、デフォルトではこれらのブランチをプルダウンしません。そして、特定のブランチで協力する必要があることが判明した場合、私はそれを明示的に取り下げます。

これは可能ですか?

+1

「.gitignore」は間違った場所になります。適切なリモコンの '.git/config'で' fetch'仕様を調整する必要があります。そこにいくつかのワイルドカードで遊んでみてください。申し訳ありませんが、私はあなたをさらに助けるのに十分知識がありませんが、実際の解決策を見たいと思っています。 :-) –

+0

[gitはリモートブランチを永久に無視できますか?](http://stackoverflow.com/questions/16842426/can-git-permanently-ignore-a-remote-branch) –

答えて

3

git-pullgit-fetch使用

おかげで(私の乏しい研究には示していません)。

具体的には、「リモートトラッキングブランチの設定」セクション(下記の文章に添付)を参照してください。https://git-scm.com/docs/git-fetchを参照してください。

これを見ると、パターンをホワイトリストにすることができますが、一部を除外することはできません。あなたはDev/*Foo/*を区別できるように、あなたの代わりにワイルドカード

  • のからプルしたいブランチは、誰もがすべての分岐のための接頭辞を使用するには、Getリストを手動で

    • :何ゆえ行うことができますすることの一つでありますgitのフェッチ

    は、リモート設定することができます。 <リポジトリ> .fetch設定変数。

    典型的には、このような変数は次のようになります。

    [remote "origin"] 
        fetch = +refs/heads/*:refs/remotes/origin/* 
    

    をこの構成では、2つの方法で使用されています

    gitのは、コマンドで取得するためにどのような枝および/またはタグを指定せずに実行されたフェッチするとライン、例えばgit fetch originまたはgit fetch、remoteを取得します。 <リポジトリ> .fetch値はrefspecとして使用されます。これらの値は、フェッチする参照と更新するローカル参照を指定します。上記の例では、起点にあるすべてのブランチ(つまり、値の左側に一致するすべての参照、refs/heads/)を取得し、refs/remotes/origin/の対応するリモート追跡ブランチを更新します階層。

  • +1

    よろしくお願いします。 @torek! –

    3

    作業中の現在のブランチとこのブランチだけをいつでも簡単に取得できます。

    私はむしろあなたはいつも引っ張って、この構文を使用することができ、あなたのブランチをマージする必要がある場合、デフォルトでは、現在、これらの枝

    # pull only the current branch you are working on 
    # git pull = git fetch && git merge 
    git pull origin <branch name> 
    

    をプルダウンしていない、gitのを持っていると思います/それをマージ:

    # grab the remote branch 
    git pull origin Dev/<branch name> 
    

    もう一つの方法は、あなたのrefspecで "遊ぶ" ことですが、イムはrecommendinありませんそうすることによっても、とてもシンプルです。

    ...しかし、あなたはそのような何かを達成するために、名前空間(またはディレクトリ)を使用することができます。ここでは

    はサンプル文書を形成します。

    あなたは枝のシリーズをプッシュするQAチームを持っている場合は、
    、あなたはmasterブランチとQAチームの枝が、他には何ものいずれかを取得したい、あなたはこのようなconfigセクションを使用することができます。

    [remote "origin"] 
        url = https://github.com/schacon/simplegit-progit 
        fetch = +refs/heads/master:refs/remotes/origin/master 
        fetch = +refs/heads/qa/*:refs/remotes/origin/qa/* 
    
    関連する問題