Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
なぜGitでバイナリファイルをおいてはいけないかGitの内部構造から考える
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takeshi Kondo
September 05, 2017
Technology
3.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜGitでバイナリファイルをおいてはいけないかGitの内部構造から考える
Takeshi Kondo
September 05, 2017
Transcript
25 slides
ͳͥGitͰόΠφϦϑΝΠ ϧΛ͓͍͍͚ͯͳ͍͔ Gitͷ෦ߏ͔Βߟ͑Δ 2017/08/31 kondo takeshi
Git͓͡͞Μ
΅͘ʮ͜Εยํ͍Βͳ͘ͳ͍ʁ ফͦ͏Αʯ ͱ͋ΔHJUϦϙδτϦ @QBUDI @QBUDI
ޙഐ͘Μʮ͑ʔʁফ͢ΜͰ͢ ͔ʔʁԿ͔ා͍ͬ͢oldͰ͍͍ Ͱ͔͢ʔʁʯ
΅͘ʮGit͕֮͑ͯͯ͘ΕΔ͔ Βʂʂʂʂʂʂoldͱ͔Ί Ζʂʂʂʂʂʂʂʂʂʂʯ
ͳΜͱ͔खॱॻ_draft.docx
΅͘ʮdraftϒϥϯνͬͯ ΕΑʂʂʂʂʂͬ͞͞ͱ rename͠Ζʂʂʂʂʂʯ
νʔϜͷGitྗ্͕՝ • GitϑΝΠϧαʔό͡Όͳ͍ʂʂʂ • masterpushΊΖʂʂʂ • खॱॻϨϏϡʔϓϩηεΛMRͰΓ͍ͨɻɻ • ->ͭ·Γdiff͕͏·͘ग़ͳ͍WordΛ͜Ζ͢
$ git init > Initialized empty Git repository in /Users/take/
gitlab/.git/
$ ls .git > HEAD config description hooks info objects
refs
.gitɺ͋Γ·͢Ͷʁ
.gitɺ͋Γ·͢Α
.git • Gitͯ͢ͷཧใΛ.gitҎԼʹू • .gitͷதΛݟ͍ͯ͘͜ͱͰɺͲ͏ͬͯόʔ δϣϯཧΛ࣮ݱ͍͔ͯ͘͠ݟ͍ͯ͘
gitͷΦϒδΣΫτ CMPC ϑΝΠϧͷσʔλ USFF CMPCͷࢀরͱɺ ֊ͷσΟϨΫτϦใ DPNNJU มߋ࣌ͷϝλσʔλͱɺ USFFͷࢀর UBH
DPNNJUͷࢀর
gitͷΦϒδΣΫτ GitӳจϚχϡΞϧΛಡΉͨΊͷ༧උࣝ http://tokkonopapa.github.io/blog/2012/01/17/prior-knowledge-for-git-manual/
ςΩετϑΝΠϧͷ߹ $ echo "hello git" > hello_git.txt $ git add
hello_git.txt $ git commit -m "hello git” [master (root-commit) aaa6ce7] hello git 1 file changed, 1 insertion(+) create mode 100644 git_test/hello_git.txt > Ҏ߱σϞͰʂ
όΠφϦϑΝΠϧͷ߹ ը૾ϑΝΠϧͷมߋ > Ҏ߱σϞͰʂ https://pixlr.com/editor/
εφοϓγϣοτΜʂ ࠩཧ͡Όͳ͍Μʂ
git gc
git-gcͱpackfile • git-gcʹΑΓطଘͷΦϒδΣΫτআ͞Εɺ pack-*.idxͱpack-*.packϑΝΠϧ͕ੜ • ͨͿΜ͜͜Ͱdeltaѹॖͯ͠Δ
େ༰ྔϑΝΠϧΛߋ৽ͯ͠ΈΔ $ sec 1 10000000 > sec.txt $ git gc
Counting objects: 18, done. Delta compression using up to 4 threads. Compressing objects: 100% (14/14), done. Writing objects: 100% (18/18), done. Total 18 (delta 3), reused 11 (delta 0) > Ҏ߱σϞͰʂ
όΠφϦϑΝΠϧͷԿ͕μϝʁ • ୯ʹdiff͕ݟΕͳ͍ • merge࣌ʹconflict͢Δͱࢮ͵ • ͕ࠩଟ͘ग़ΔՄೳੑ͕͋ΔͷͰɺpackʹΑ Δѹॖޮ͕ѱ͍
·ͱΊ • ຊʹ͍͚ͯ͠ͳ͍ͷʮڊେόΠφϧϑΝΠϧʯ ͷadd • -> Git LFSͲ͏ͧ • commitεφοϓγϣοτ(blog)Λੜ͠ɺpackͰ
ࠩอଘʹΑΔѹॖ • ͦΕҎ֎શͯࢀরͷϦϨʔ
͓·͚ɿWordόΠφϦͱ͍ ͏Θ͚Ͱͳ͍ • Wordͷதzip͞Εͨxml • ͔ͩΒgitͰdiffͱΔͱԿ͔͠Βݟ͑Δ • ࢀߟɿWord͞Μࠓ͓͔ͭΕͰ͢ • http://qiita.com/kaityo256/items/
c15889dbb7acb2632c6e
Reference • ΤϯδχΞͷͨΊͷGitͷڭՊॻʦ্ڃฤʧ Git෦ͷΈΛཧղ͢Δ • https://www.amazon.co.jp/exec/obidos/ASIN/B01AAIN85K/ takeshe11-22/ • ʮΤϯδχΞͷͨΊͷgitڭՊॻʯ͔Βgitͷ෦ߏΛֶͿɹ࣮ફฤͦͷ1 •
http://take-she12.hatenablog.com/entry/2017/08/10/120000 • ʮΤϯδχΞͷͨΊͷgitڭՊॻʯ͔Βgitͷ෦ߏΛֶͿɹ࣮ફฤͦͷ2 • http://take-she12.hatenablog.com/entry/2017/08/12/120000
More Decks by Takeshi Kondo
See All by Takeshi Kondo
SREの知識地図 - 第2章の紹介 - / Knowledge Map of SRE – Introduction to Chapter 2 –
chaspy
0
130
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
2
1.9k
Slack Platform(Deno) での RAG 実装 - LangChain(js) を使ってみた / rag-implementation-on-slack-platform-deno-experimenting-with-langchain-js
chaspy
0
340
SRE の考えをマネジメントに活かす / applying SRE ideas to management
chaspy
7
8.5k
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle practice through simplified assessment of RAGs
chaspy
2
6.2k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
2.5k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
2.7k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
2.5k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
9.3k
Other Decks in Technology
See All in Technology
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
310
AIが会計業務の伴走者に。 マネーフォワード クラウド会計MCPサーバーで実現するAI前提の新しい業務プロセス
nobitabashi
0
150
生成AI時代のIAMのマニアックな話
takuros
6
3.2k
Shared Signals Framework 仕様解説
oidfj
0
430
AI時代における医療情報システムのセキュリティ / Security of Healthcare IT Systems in the AI Era
henryofficial
0
170
Linuxネットワークスタック進化の軌跡: 過去10年の歩みと最新トレンド
orimanabu
4
690
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
330
Frontier Teams — Amazon は AI で「開発のやり方」をどう変えたのか
kmotohas
0
260
20261113_JAWS_Osaka
takuyay0ne
0
480
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
110
Kiro アップデート 2026 年 11 月号 (11 月 8 日時点) | 目指せ Kiro マスター アップデート編
inariku
PRO
2
120
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
750
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
AI: The stuff that nobody shows you
jnunemaker
PRO
12
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Music & Morning Musume
bryan
48
7.5k
Building Adaptive Systems
keathley
44
3.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
490
A Modern Web Designer's Workflow
chriscoyier
699
190k