Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
巨大リポジトリはパーシャルクローンしようね。
Search
えび
May 22, 2025
0
1
巨大リポジトリ はパーシャルクローン しようね。
えび
May 22, 2025
Tweet
Share
More Decks by えび
See All by えび
丸め誤差発生の仕組みと向き合い方
ebibibibibi
0
95
バブルソートでPHPに入門する
ebibibibibi
0
110
影響範囲調査をする技術
ebibibibibi
0
63
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Six Lessons from altMBA
skipperchong
28
3.8k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Embracing the Ebb and Flow
colly
85
4.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Producing Creativity
orderedlist
PRO
346
40k
Visualization
eitanlees
146
16k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Transcript
巨大リポジトリ はパーシャルクローン しようね。 #02 札幌開催:はじめてのIT勉強会 in 札幌(2025) えび(@025cm)
クローンの種類 • フルクローン • シャロークローン • パーシャルクローン
フルクローン • たぶんいつもみなさんがやっているやつ。 • すべての履歴・すべてのファイルをローカルに丸ごとコピーす ること。
シャロークローン • 履歴を深さ(=commitの数)で制限してクローンするモードの こと • 取得した履歴の範囲内でしか、歴史を操ることができない
パーシャルクローン • コミットとツリーだけをダウンロードして、 「ファイルの中身 (ブロブ)」は持ってこないモード • 履歴操作もできる!!
blob オブジェクト • blobとは Gitのオブジェクトの1種で、「ファイルの中身そのも の」を保存しているもの • Binary Large OBject
の略で、git add 実行時に .git/objects 配 下へ作成される
commitオブジェクト • commit は、「この時点でのスナップショットはこのtreeだっ た」と記録するオブジェクト。 • 中身は:tree のハッシュ(=どの構造・内容だったか)・親の commit(履歴をつなぐ)・作者・日付・メッセージ
tree オブジェクト • ある時点のディレクトリ構成(フォルダ・ファイルの階層)を 表すGitオブジェクト。 • 中身は「ファイル名・パーミッション・それが指すblobやtree オブジェクトのハッシュ値」
構造のイメージ
Gitは「差分」ではなく 「スナップショット」
blobがなにかを知っていれば、 自然な発想でパーシャルクローンは出てきそう。 基礎は大事ですね
さいごに • パーシャルクローン最強説。 • シャロークローンの勝ちポイントをよくわかってない。なにか 思いつくところがあったら教えて欲しい!