git

https://git-scm.com/docs/git-sparse-checkout

リポジトリから一部だけを取得する設定 必要なのが巨大なリポジトリのうちの1ファイルだけの場合などに、 全体をcheckoutすると容量を食うので、ファイルやディレクトリを指定してcheckoutすることができる

sparse checkout を利用してみる

  1. まずは空っぽのローカルリポジトリを作成
git init .
  1. ローカルリポジトリ内で以下のコマンドを実行。 gitconfigファイルに sparsecheckout=true の1行が追加されます。
git config core.sparsecheckout true
  1. .git/info以下にsparse-checkoutという名前のファイルを作成。
mkdir .git/info
vi .git/info/sparse-checkout
  1. 必要なファイルやディレクトリを記述していきます。 記述方法は.gitignoreと同じで、ファイル名やディレクトリ名の先頭に「!」を付けると除外指定もできます。
hoge.txt
/fuga
!/fuga/piyO
  1. リモートリポジトリを指定します。
git remote add origin XXXX
  1. 最後にpull
git pull origin master

一部だけを除外したい

一度全体をcheckout対象に含めてから、除外したいものだけを ! で指定するという方法

https://git-scm.com/docs/git-sparse-checkout#_full_pattern_set

ネストすることも可能

/*
!unwanted
unwanted/**/wanted