Git特定のフォルダまたはファイルをcloneする

Git特定のフォルダまたはファイルをcloneする git

gitで複数のプロジェクトファイルを管理していた場合などに、特定のディレクトリ配下だけcloneしたい場合などあると思います。そんな時に便利なgitの使い方があったので紹介します。

特定なフォルダのみをcloneする

空ディレクトリを作る

# 空ディレクトリを作る
$ mkdir sub-directory-name
# 作ったディレクトリに移動する
$ cd sub-directory-name

空リポジトリを作って初期化

# 空リポジトリを初期化する
$ git init

sparsecheckout を有効にする

#sparsecheckout を有効にする
git config core.sparsecheckout true

リモートリポジトリの URL を origin として登録

#リモートリポジトリの URL を origin として登録
git remote add origin リポジトリのURL

cloneするディレクトリやファイルを指定する

#cloneするディレクトリを指定する
echo 目的のフォルダ >> .git/info/sparse-checkout

#目的のフォルダの中のサブフォルダを除外する(!で除く事もできる)
echo /* >> .git/info/sparse-checkout
echo !/目的のフォルダ/サブフォルダ >> .git/info/sparse-checkout
※除外の場合:/*が必要です。

#特定のファイルを指定する
echo 目的のフォルダ/目的のファイル >> .git/info/sparse-checkout

好きなブランチを pull (checkout) する

#好きなブランチを pull (checkout) する
git pull origin master

追加でほかのディレクトリを取得

# 追加したいディレクトリを追記する
$ echo add-sub-directory >> .git/info/sparse-checkout
# ツリー情報を更新する
$ git read-tree -m -u HEAD
タイトルとURLをコピーしました