特定のディレクトリだけgit cloneする方法

Sat Mar 21, 2020 - git
Sat Mar 21, 2020

参考書などでプログラミングの勉強をする時に便利なのが、特定のディレクトリだけgit cloneして、学習を進めて行くこと!

今回は、この方法をメモしておきます。

空のディレクトを作る

1
2
$ mkdir confetti_cuisine
$ cd confetti_cuisine

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

1
confetti_cuisine $ git init

sparsecheckoutを設定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
confetti_cuisine $ git config core.sparsecheckout true
confetti_cuisine $ cat .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true
	sparsecheckout = true

取得元のリポジトリを設定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
confetti_cuisine $ git remote add origin https://github.com/JonathanWexler/get-programming-with-nodejs.git
confetti_cuisine $ cat .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true
	sparsecheckout = true
[remote "origin"]
	url = https://github.com/JonathanWexler/get-programming-with-nodejs.git
	fetch = +refs/heads/*:refs/remotes/origin/*

取得したいディレクトリをsparse-checkoutに設定する

1
confetti_cuisine $ echo /unit_1/lesson_7_capstone/start/confetti_cuisine/ > .git/info/sparse-checkout

pullする

1
confetti_cuisine $ git pull origin master
See Also