巨大な git レポジトリがあった場合に、できる限りそれを fetch することはさけたい。必要な branch だけ、 shallow clone して利用したい。その際に次のようにすればいいだろう、というメモ。
git shallow clone した場合、素直に fetch しても、最初に clone してきたときの branch しか取得できない。
.git/config の [remote "name"] の fetch を複数個化すれば、その分だけ fetch してくれるようになる。
これを変更する正規の手順は、 git remote set-branches
.
git には、 clone せずとも、 remote の branch をリスト表示する機能がある。
git ls-remote --tags git://github.com/git/git.git
これと組み合わせれば、最小限の branch だけを手元に置きながら作業ができる。