この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。
巨大なGitリポジトリから一部のディレクトリだけpullする

nogajun
LibreOfficeの日本語翻訳ファイルが必要になったけど、翻訳リポジトリのミラーから全部をCloneするのはちょっと…と思ったのでgit sparse checkoutを試しました。そういえば、小笠原さんのところにも書いてありますね。
git sparse checkoutでググると日本語で解説してるサイトのほとんどが「最初だけは全部Cloneしろ」とか書いてて、なんだそれーと思ったのですが、空リポジトリを作ってそれに追加していく形でも大丈夫でした。
最初にCloneしたいディレクトリを作成して、その中に入ってからgitで初期化以降は、こんな感じ。
$ git init
$ git config core.sparsecheckout true
$ git remote add origin https://github.com/LibreOffice/translations.git
$ echo "/source/ja" > .git/info/sparse-checkout
$ git pull origin master
やっぱり初回は時間かかりますね。