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
31
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
巨大リポジトリ はパーシャルクローン しようね。
えび
May 22, 2025
More Decks by えび
See All by えび
XcodeのLLDB(ブレークポイント)に入門する
ebibibibibi
0
61
インタプリタ言語が 実行環境の差異を 吸収する仕組みを あさーく理解する
ebibibibibi
0
87
CocoaPodsはなぜRuby製か
ebibibibibi
1
210
通勤をゆたかにする技術 ~通勤中に耳でSwiftを学んだら5kg痩せて精神が安定した話~
ebibibibibi
0
240
丸め誤差発生の仕組みと向き合い方
ebibibibibi
0
160
バブルソートでPHPに入門する
ebibibibibi
0
190
影響範囲調査をする技術
ebibibibibi
0
200
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Skip the Path - Find Your Career Trail
mkilby
1
200
Being A Developer After 40
akosma
91
590k
Product Roadmaps are Hard
iamctodd
55
12k
We Are The Robots
honzajavorek
0
310
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
490
Site-Speed That Sticks
csswizardry
13
1.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
580
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.5k
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がなにかを知っていれば、 自然な発想でパーシャルクローンは出てきそう。 基礎は大事ですね
さいごに • パーシャルクローン最強説。 • シャロークローンの勝ちポイントをよくわかってない。なにか 思いつくところがあったら教えて欲しい!