2011-09-27 1 views
6

他の開発者がローカルブランチを共有リモートリポジトリにプッシュしてからトランクにコミットする(共有、バックアップ、私自身のブランチを取ったり、他の人のリモートブランチへのローカル参照を選択的に削除したりする方法がありますか?もしそうでなければ、gitkにリモートブランチのサブセットのみを表示する方法があるので、私のブランチが私のリモートブランチとの相対的な位置を知ることができますが、他の人のリモートブランチによってグラフが乱雑にならないようにします。 configオプションremote.<remote-name>.fetchで制御されたリモートからフェッチされる(分岐を含む)リモートgitブランチのサブセットを取得するか、gitk内のサブセットのみを表示する

参考文献:

+0

私はgitの中に「リモート」は、分岐は異なる概念であるから、それは、私はあなたのタイトルに若干の編集をしたことをOK願っています:あなたが持つで興味がないもののそれぞれを削除することができます遠隔地 - あなたの質問は後者に関するもので、タイトルは少し誤解を招いていました。 –

+0

Gitコンテキストで 'trunk'について語るのはちょっと奇妙ですね。 – knittl

答えて

5

ここのみリモートから特定のブランチをフェッチする一つの方法です。たとえば、あなたのremote.origin.fetchはおそらくrefspecです:

+refs/heads/*:refs/remotes/origin/* 

...リモートリポジトリ内refs/heads/下のすべての引用文献の名前を取得し、ローカルリポジトリにrefs/remotes/origin/下でそれらを利用できるようにすることを意味します。 (+は強制的な更新を意味するため、更新が早送りでない場合でもリモート追跡ブランチを更新できます)。

フェッチする特定のブランチを指定する複数のrefspecをリストすることができます。でこれを変更する:

git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master 
git config --add remote.origin.fetch +refs/heads/blah:refs/remotes/origin/blah 

...そして次回のみmasterblahがフェッチされます。

もちろん、ローカルにはすでに多くのリモート追跡ブランチがありますが、gitkにはそれらが表示されます。

git branch -r -d origin/uninteresting 
+0

各リモートトラッキングブランチを別々に削除するのではなく、 'git remote prune origin'を実行できるはずです.fetchspecsを考慮に入れてください。 – knittl

+0

@knittl:ドキュメンテーションはそれを示唆していません。 + +リファレンス/ヘッド/マスター:リファレンス/リモート/起源/マスター 'と一緒にgit 1.7.0.4で、それを削除していないようです... –

+0

私の側から間違った仮定、 )それは期待された行動と考えられる場合は面白いでしょう – knittl

関連する問題