Gitで一部のディレクトリを指定してcloneする方法!

Gitで複数のディレクトリが存在するリモートリポジトリの中で、一部のディレクトリだけ指定してcloneしたい場合があるのではないでしょうか?少し設定をすることで一部のディレクトリだけをcloneすることが出来ます。この記事ではその方法について紹介していきます。

コンテンツ [表示]

  1. 1Gitで一部のディレクトリを指定してcloneしたい
  2. 2Gitで一部のディレクトリを指定してcloneする方法
  3. 2.1ディレクトリの作成
  4. 2.2初期化
  5. 2.3sparse-checkoutを設定
  6. 2.4リモートリポジトリの設定
  7. 2.5特定のディレクトリをsparse-checkoutに設定する
  8. 2.6プルする

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をするのではなく、空のリポジトリとして始めるのが特定のディレクトリを取得するためのポイントです。

GeekHive採用サイト

関連記事