Gitで一部のディレクトリを指定してcloneする方法!
Gitで複数のディレクトリが存在するリモートリポジトリの中で、一部のディレクトリだけ指定してcloneしたい場合があるのではないでしょうか?少し設定をすることで一部のディレクトリだけをcloneすることが出来ます。この記事ではその方法について紹介していきます。
Gitで一部のディレクトリを指定してcloneしたい
Gitで複数のディレクトリが存在するリモートリポジトリの中で、一部のディレクトリだけ指定してclone
したい場合があるのではないでしょうか?
少し設定をすることで一部のディレクトリだけをclone
することが出来るようになります。
この記事ではその方法について紹介していきます。
Gitで一部のディレクトリを指定してcloneする方法
ディレクトリを指定してclone
する方法はわずか数ステップでできるようになります。
ディレクトリの作成
まずはclone
してくるための空のディレクトリを作成します。
mkdir dir
cd dir
初期化
作成した空のディレクトリをローカルリポジトリとするためにGitの初期化を行います。
git init
cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
sparse-checkoutを設定
下記のコマンドでsparse-checkout
を有効にすることで、サブディレクトリだけをclone
してくる機能が使用できるようになります。
git config core.sparsecheckout true
cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
sparsecheckout = true
リモートリポジトリの設定
GitHubなどのリモートリポジトリを設定します。
git remote add origin https://github.com/〇〇〇〇/qumeru_repository.git
特定のディレクトリをsparse-checkoutに設定する
clone
したい特定のディレクトリをsparse-checkout
に記述して、設定します。
echo
の後の「dir
」で特定のディレクトリ名を指定しています。
echo dir > .git/info/sparse-checkout
プルする
下記のコマンドでpull
を行います。
git pull origin master
以上で、特定のディレクトリのみを取得することが出来ます。
最初にclone
をするのではなく、空のリポジトリとして始めるのが特定のディレクトリを取得するためのポイントです。
