Gitで一部のディレクトリだけcloneする方法
結論から言うと、Gitではできないようです。
ただし、一部のディレクトリ以外を非表示にすることができるみたい。
実際には全cloneをしているので、ディスク容量やネットワークトラフィックはかかるけど、実用上は問題ないかも。
やり方
まずは普通にcloneする
$ git clone https://github.com/hentai-kun/hatenablog.git
$ cd hatenablog
$ ll
total 0
-rw-r--r-- 1 hentai-kun staff 0 Dec 10 14:35 README.md
drwxr-xr-x 3 hentai-kun staff 102 Dec 10 14:35 fuga
drwxr-xr-x 3 hentai-kun staff 102 Dec 10 14:35 hoge
sparseCheckoutを有効にする
$ git config core.sparseCheckout true
試しに、hogeディレクトリ以外を非表示にする
$ echo "hoge" > .git/info/sparse-checkout
$ git read-tree -mu HEAD
$ ll
total 0
drwxr-xr-x 3 hentai-kun staff 102 Dec 10 14:35 hoge
と、ここまではいいんですが、
途中でsparseCheckoutを無効にしたくなった時はどうすればいいんでしょうか?