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
知っておいてほしいGitの本当の基礎 / Let's know Git
Search
Masaya Kazama
March 24, 2017
Technology
1
4.3k
知っておいてほしいGitの本当の基礎 / Let's know Git
コミットの連なりと.gitの中身について @miyaoka
社内勉強会向けに作った資料
Masaya Kazama
March 24, 2017
Tweet
Share
More Decks by Masaya Kazama
See All by Masaya Kazama
左右セパレート型格子配列キーボード ErgoDoxのご紹介 / Introducing Ergodox
miyaoka
0
1.6k
Other Decks in Technology
See All in Technology
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
260
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
220
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
アクセス制御にまつわる改善 / Improving access control
itkq
0
540
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
MySQL の SQL クエリチューニングの要所を掴む勉強会
andpad
3
6.4k
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
750
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
220
開発パフォーマンスを最大化するための開発体制
ham0215
2
420
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
350
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
The Language of Interfaces
destraynor
151
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Docker and Python
trallard
34
2.7k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Debugging Ruby Performance
tmm1
70
11k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
What's in a price? How to price your products and services
michaelherold
237
11k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Transcript
͓͍ͬͯͯ΄͍͠ (JUͷຊͷجૅ
ίϛοτͷ࿈ͳΓͱHJUͷத ʹ͍ͭͯ ˏNJZBPLB
தڃऀʙॳ৺ऀ͚
ͱɺࢥ͍͍ͨ
ૢ࡞ͷઆ໌ͱ͔ ͦ͏͍͏͜ͱΑΓ
ࠜຊతʹ(JUͷ࡞ΓΛ Γ·͠ΐ͏
(JUͷίϛοτάϥϑ
FHGBDFCPPLSFBDU
͍͍ͬͨͲ͏ͬͯ ද͍ࣔͯ͠ΔͷͰ͠ΐ͏͔ʁ
ίϛοτͱ JECCG BVUIPSOBNF EBUF "EEJOEFYQBHF JOEFYIUNM JNBHFQOH NBJOKT
ίϛοτͱ JECCG BVUIPSOBNF EBUF "EEJOEFYQBHF JOEFYIUNM JNBHFQOH NBJOKT ͦΕͧΕϢχʔΫͳ*%Λ࣋ͪɺ ࡞ऀใɺ
ίϛοτϝοηʔδΛ࣋ͪɺ ϑΝΠϧ༰Λ࣋ͪ·͢
ίϛοτͱ ͦͯ͠ ͷίϛοτ*%Λ࣋ͪ·͢ JECCG QBSFOUTEFDD BVUIPSOBNF EBUF "EEJOEFYQBHF JOEFYIUNM JNBHFQOH
NBJOKT
༨ஊɿ(JUͰΘΕΔ*% w 4)"ؔʢ੬ऑੑʣʹΑΔϢχʔΫͳ*% w ಉ͡༰ͳΒಉ͡*%ʹͳΔ w ϑϧͰจࣈͷਐʹͳΔ͕ɺઌ಄จࣈ͋ ΕࣝผͰ͖ΔͷͰେจࣈఔʹলུͰ͖Δ
w ίϛοτΛḷ͍ͬͯ͘͜ͱͰπϦʔʹͳΓ·͢ ίϛοτͷ࿈ͳΓ JECCG QBSFOUTEFDD JEEFDD QBSFOUTGCD JEGCD QBSFOUTDFGF JEDFGF
QBSFOUTBCG JEBCG QBSFOUTGEB
ίϛοτͷ࿈ͳΓ ࠷ॳͷίϛοτ
ͰɺͲ͔͜ΒḷΔʁ
ίϛοτͷ࿈ͳΓ ࠷ॳͷίϛοτ w ֤ίϛοτํʹḷ͍ͬͯ͘ͷͰɺ࠷ॳͷίϛο τىʹͳΒͳ͍
πϦʔͷى NBTUFS EFWFMPQ W )&"%
ىͱͳΔͷ )&"% ϒϥϯν λά
)&"%͔ΒḷΔ NBTUFS EFWFMPQ W )&"%
)&"%ͱ w ݱࡏϦϙδτϦͷͲ͜ͷίϛοτΛࢦ͍ͯ͠Δͷ͔ͱ͍ ͏ϙΠϯλ w جຊతʹબதͷϒϥϯνΛࢦ͢ʢϒϥϯνͰͳ͘ ίϛοτ*%Λࢦఆ͢Δ͜ͱͰ͖Δ͕ܯࠂ͕ग़Δʣ w ͜ͷϙΠϯλͷࢦࣔ͢͠ίϛοτͱϫʔΫϑΝΠϧͱͷ ͕ࠩදࣔ͞ΕΔ
ϒϥϯνͷΓସ͑ NBTUFS EFWFMPQ W )&"% HJUDIFDLPVUNBTUFS
)&"%ˠϒϥϯνˠίϛοτ w ʮ)&"%ˠ͍ͣΕ͔ͷϒϥϯνˠίϛοτʯͱࢀর͢Δ ͜ͱͰઌ಄ͷίϛοτ͕ܾ·ΓɺίϛοτπϦʔΛḷΔ ͜ͱ͕Ͱ͖Δ w ϒϥϯνλάίϛοτΛࢦࣔ͢͠ᐼͷΑ͏ͳͷʢϒ ϥϯνҠಈ͢Δ͕λάݻఆʣ w ϒϥϯνΛΓସ͑Δͱ͍͏ͷɺ)&"%͕ࢀর͢Δϒ
ϥϯνΛม͑Δͱ͍͏͜ͱ
Ͳ͔͜Βࢀর͞Εͳ͍ίϛοτ NBTUFS EFWFMPQ W )&"%
Ͳ͔͜Βࢀর͞Εͳ͍ίϛοτ w )&"%ͳͲ͔ΒḷΕͳ͍ίϛοτπϦʔʹද ࣔ͞Εͳ͍ w ͭ·ΓπϦʔʹදࣔ͞Ε͍ͯΔͷ͕શͯͷί ϛοτͰͳ͍ w Ͳ͔͜ΒḷΕͳ͍ίϛοτͦͷ͏ͪࣗಈత ʹফڈ͞ΕΔ
ࢀর͞Εͳ͘ͳΔίϛοτྫ $ # " "EEJOFEYpMF )&"%
ίϛοτϝοηʔδͷUZQP "EEJOFEYpMF ·͕ͪ͑ͨʂ $ # " )&"% ʘ͔͍ͣ͠ʗ
BNFOEͰϝοηʔδमਖ਼ "EEJOEFYpMF $ # " )&"% ʘͳ͓ͬͨʗ HJUDPNNJUBNFOENl"EEJOEFYpMFz
͜ͷͱ͖ɺ࣮ࡍʜ "EEJOEFYpMF $ # " "EEJOFEYpMF $` )&"% w ίϛοτΛॻ͖͑ͨͷͰͳ͘ɺผͷ৽͍͠ί
ϛοτΛ࡞ͬͯͦͪΒʹ)&"%ΛҠ͍ͯ͠Δ w ݩͷίϛοτḷΕͳ͘ͳͬͨͷͰπϦʔද͔ࣔ Βফ͑Δ w ͳͷͰॻ͖ΘͬͨΑ͏ʹΈ͑Δ w දࣔ͞Εͳ͘ͳͬͯ෦తʹΓଓ͚Δ
աڈͷίϛοτΛॻ͖͑Δ $ # " PMENTH )&"% % & ͪΐͬͱ͚ͩ͜͜मਖ਼͍ͨ͠
SFCBTF $ #` " OFXNTH )&"% % & ʘͳ͓ͬͨʔʗ HJUSFCBTFJʢུ
Ͱຊ͜͏ͳͬͯΔ $ # " PMENTH )&"% % & $` #`
%` &` OFXNTH
มΘͬͨͷҰ෦ͳΜ͔ͩΒ ͚ͩ͜͜Ͱ͍͍Μ͡Όʁ $ # " PMENTH )&"% % & #`
OFXNTH
͜͏͍͏ͷͳΜͰ͢ $ # " % & $` #` %` &`
w Ұ࡞ͬͨίϛοτʢجຊతʹʣॻ͖ ΘΒͳ͍ w ৽͍͠ίϛοτ*%͕มΘΔ w *%͕มΘΔͷͰɺͨͱ͑ͦͷଞͷ༰͕ શ͘ಉ͡Ͱ৽͍͠ίϛοτͱͯ͠࡞Γ ͞ΕΔ w ͭ·ΓͲ͔͜࡞Γͨ͠Β͔ͦ͜Βޙͷί ϛοτ࿈తʹશͯ࡞Γ͠ʹͳΔ มߋͨ͠ *%͕มΘͬͨ ͷ͔ͦ͏͔ *%͕มΘͬͨ ͷ͔ͦ͏͔ *%͕มΘͬͨ ͷ͔ͦ͏͔
ϒϥϯνΛ ফͪ͠Όͬͨ
͜Μͳϒϥϯν $ # " GFBU % & EFWFMPQ
ϒϥϯνআ $ # " % & EFWFMPQ HJUCSBODI%GFBU ʘ͋ͬɺͬͺΓඞཁͩͬͨʗ
େৎ ͦΕͰऔΓग़͢ खஈ͋Γ·͢
ϒϥϯνΛ͚͢ $ # " % & EFWFMPQ HJUSFqPH CCB)&"%!\^ʜ FCDDF)&"%!\^ʜ
GCCC)&"%!\^ʜ HJUCSBODIOFXCSBODICCB OFXCSBODI w ίϛοτݟ͑ͳ͘ͳ͚ͬͨͩͰɺ࣮ࡍʹ ফ͍͑ͯͳ͍ w )&"%ͷϩάͳͲ͔Βίϛοτ*%Λݟ͚ͭग़ ͯͦ͜͠ʹ৽ͨʹϒϥϯνͳͲΛ͚ͭΕ· ͨදࣔ͞ΕΔΑ͏ʹͳΔ
͜͜·Ͱͷ ·ͱΊ
w ϦϙδτϦͷத͜Μͳײ͡ ϙΠϯλͱίϛοτ܈ NBTUFS EFWFMPQ W )&"% ೖޱͱͳΔϙΠϯλ ແͷίϛοτ
Πϝʔδతʹ ͍͍ͩͨΘ͔Γ·ͨ͠ Ͷ
͔͜͜Β ࣮ࡍͷதΛ ݟͯཧղ͠·͠ΐ͏
HJU
(JUͷॳظԽ XPSLJOHEJSFDUPSZ HJUJOJU
(JUͷॳظԽ SFGT HJU )&"% PCKFDUT XPSLJOHEJSFDUPSZ MPHT HJUJOJU HJUσΟϨΫτϦ͕࡞͞Εɺ͞ΒʹͦͷதʹۭσΟϨΫτϦ ܈͕࡞͞ΕΔʢ͜͜ͰओཁͳͷͷΈʹهࡌΛলུʣ
ϑΝΠϧΛ࡞ͯ͠Ճ XPSLJOHEJSFDUPSZ pMFUYU FDIPpMFDPOUFOUpMFUYU HJUBEEpMFUYU
ϑΝΠϧΛ࡞ͯ͠Ճ SFGT HJU )&"% JOEFY PCKFDUT E B XPSLJOHEJSFDUPSZ pMFUYU
MPHT FDIPpMFDPOUFOUpMFUYU HJUBEEpMFUYU 4)"ͷ*%͔ΒʮσΟϨΫτ Ϧ໊ ϑΝΠϧ໊ʯͷϑΝΠϧ ʹ༰͕֨ೲ͞ΕΔ ݱࡏεςʔδ͞Ε͍ͯΔϑΝΠ ϧπϦʔใ ͜ͷ༰ͱϫʔΫϑΝΠϧΛ ൺֱ͕ͯࠩ͠දࣔ͞ΕΔ
࠷ॳͷίϛοτ XPSLJOHEJSFDUPSZ pMFUYU HJUDPNNJUNlJOJUJBMDPNNJUz
࠷ॳͷίϛοτ SFGT IFBET NBTUFS HJU )&"% JOEFY PCKFDUT FC DDF
B E XPSLJOHEJSFDUPSZ pMFUYU MPHT )&"% SFGT IFBET NBTUFS HJUDPNNJUNlJOJUJBMDPNNJUz lFCDDFz ϒϥϯν͕ࢦࣔ͠͠ ͍ͯΔઌͷίϛοτ *% lSFGSFGTIFBET NBTUFSz ݱࡏϦϙδτϦͷͲ͜ Λࢀর͍ͯ͠Δͷ͔ͱ ͍͏ϙΠϯλ FCDDFNBTUFS!\^DPNNJU JOJUJBM JOJUJBMDPNNJU FCDDF)&"%!\^DPNNJU JOJUJBM JOJUJBMDPNNJU
w (JUΦϒδΣΫτͷߏΛݟͯΈΑ͏ HJUDBUpMFQFCDDF USFFBFCCDGECBEBDEEB BVUIPS.BTBZB,B[BNB DPNNJUUFS.BTBZB,B[BNB JOJUJBMDPNNJU HJUDBUpMFQB
CMPCEBCDBBBEGFpMFUYU HJUDBUpMFQE pMFDPOUFOU PCKFDUT FC DDF B E ࠷ॳͷίϛοτͷத $PNNJU0CKFDU ίϛοτใ 5SFF0CKFDU ϑΝΠϧϦετใ #MPC0CKFDU ϑΝΠϧͷத NBTUFS
ϒϥϯνͷ࡞ XPSLJOHEJSFDUPSZ pMFUYU HJUCSBODIEFW
ϒϥϯνͷ࡞ SFGT IFBET NBTUFS EFW HJU )&"% JOEFY PCKFDUT FC
DDF B E XPSLJOHEJSFDUPSZ pMFUYU MPHT )&"% SFGT IFBET NBTUFS EFW HJUCSBODIEFW FCDDF ϒϥϯνʹ৽͍͠ϙΠϯλ͕Ճ͞ΕΔɻ ͜ͷ࣌ͰNBTUFSͱಉҰ FCDDFEFW!\^CSBODI$SFBUFEGSPNNBTUFS
ϒϥϯνͷΓସ͑ XPSLJOHEJSFDUPSZ pMFUYU HJUDIFDLPVUEFW
ϒϥϯνͷΓସ͑ SFGT IFBET NBTUFS EFW HJU )&"% JOEFY PCKFDUT FC
DDF B E XPSLJOHEJSFDUPSZ pMFUYU MPHT )&"% SFGT IFBET NBTUFS EFW HJUDIFDLPVUEFW SFGSFGTIFBETEFW )&"%ͷࢀরઌΛมߋ͢Δ ͜ͱͰϒϥϯν͕มΘΔ FCDDF)&"%!\^DIFDLPVUNPWJOHGSPNNBTUFSUPEFW FCDDF)&"%!\^DPNNJU JOJUJBM JOJUJBMDPNNJU
ճͷίϛοτ XPSLJOHEJSFDUPSZ pMFUYU pMFUYU FDIPpMF@UYUpMFUYU HJUBEEpMFUYU HJUDPNNJUNlBEEpMFz
ճͷίϛοτ SFGT IFBET NBTUFS EFW HJU )&"% JOEFY PCKFDUT G
CCC FG BGFF CE FC E XPSLJOHEJSFDUPSZ pMFUYU pMFUYU MPHT )&"% SFGT IFBET NBTUFS EFW FDIPpMF@UYUpMFUYU HJUBEEpMFUYU HJUDPNNJUNlBEEpMFz GCCC)&"%!\^DPNNJUBEEpMF FCDDF)&"%!\^DIFDLPVUNPWJOHGSPNNBTUFSUPEFW FCDDF)&"%!\^DPNNJU JOJUJBM JOJUJBMDPNNJU GCCCEFW!\^DPNNJUBEEpMF FCDDFEFW!\^CSBODI$SFBUFEGSPNNBTUFS GCCC ৽͍͠ίϛοτʹϙΠϯλ ͕ॻ͖ΘΔ
w ॳճͱҧ͏ͱ͜Ζ HJUDBUpMFQGC USFFCEFBBEFCCFCCBC QBSFOUFCDDFDCGFFFGCDF BVUIPS.BTBZB,B[BNB DPNNJUUFS.BTBZB,B[BNB BEEpMF
HJUDBUpMFQCE CMPCEBCDBBBEGFpMFUYU CMPCFGBGFFDFFDGGEEEGCFpMFUYU PCKFDUT G CCC CE E FG BGFF ճͷίϛοτͷத ͷίϛοτ*%͕Ճ͞Εͨ ෳϑΝΠϧʹͳͬͨ
NBTUFSʹϚʔδ XPSLJOHEJSFDUPSZ pMFUYU pMFUYU HJUDIFDLPVUNBTUFS HJUNFSHFEFW
NBTUFSʹϚʔδ SFGT IFBET NBTUFS EFW HJU )&"% JOEFY PCKFDUT
CCB G FG FC E XPSLJOHEJSFDUPSZ pMFUYU pMFUYU MPHT )&"% SFGT IFBET NBTUFS EFW HJUDIFDLPVUNBTUFS HJUNFSHFEFW CCB)&"%!\^NFSHFEFW.FSHFNBEFCZUIF SFDVSTJWFTUSBUFHZ FCDDF)&"%!\^DIFDLPVUNPWJOHGSPNEFWUPNBTUFS GCCC)&"%!\^DPNNJUBEEpMF FCDDF)&"%!\^DIFDLPVUNPWJOHGSPNNBTUFSUPEFW FCDDF)&"%!\^DPNNJU JOJUJBM JOJUJBMDPNNJU CCBNBTUFS!\^NFSHFEFW.FSHFNBEFCZUIF SFDVSTJWFTUSBUFHZ FCDDFNBTUFS!\^DPNNJU JOJUJBM JOJUJBMDPNNJU CCB ৽͍͠ίϛοτΛࢀর SFGSFGTIFBETNBTUFS ݩͷNBTUFSϒϥϯνʹΔ
w ϚʔδίϛοτͷதΛݟͯΈΑ͏ HJUDBUpMFQC USFFCEFBBEFCCFCCBC QBSFOUFCDDFDCGFFFGCDF QBSFOUGCCCCCECBFFGBCEECB BVUIPS.BTBZB,B[BNB DPNNJUUFS.BTBZB,B[BNB
.FSHFCSBODIEFW PCKFDUT CCB CE E FG BGFF ճͷίϛοτ HJUDBUpMFQCE CMPCEBCDBBBEGFpMFUYU CMPCFGBGFFDFFDGGEEEGCFpMFUYU ϑΝΠϧ༰͖ͬ͞ͱಉ͡ ϚʔδίϛοτΛͭ࣋ͭ ࠷ॳͷίϛοτ ճͷίϛοτ
Ϛʔδίϛοτͷͭ " % $ # EFWFMPQ NBTUFS IFBE HJUDBUpMFQC USFFCEFBBEFCCFCCBC
QBSFOUFCDDFDCGFFFGCDF QBSFOUGCCCCCECBFFGBCEECB FCDDF GCCC w ͭͷQBSFOUIFBEଆ w ͭNFSHFࢦఆଆ
·ͱΊ w ࡞ۀதͷϑΝΠϧͱʹ͔͘ίϛοτ͓ͯ͜͠͏ w Ұίϛοτͨ͠༰ɺSFTFUIBSEͨ͠Γϒ ϥϯνফͯ͠ݟ͑ͳ͘ͳࣦͬͯΘΕ͍ͯͳ͍ w ϒϥϯνͨͩͷᐼ w ؾܰʹ࡞ͬͨΓফͨ͠Γ͠Α͏
w ίϛοτʢݪଇʣॻ͖͑ෆՄ w ৽͘͠࡞Γ͍ͯ͠ΔΘ͚ͳͷͰɺϦϞʔτͷଞͷ ࡞ۀऀͱಉظ͢Δͱ͖ҙ
͜ΕͰ͏ ͔Γ·ͨ͠ Ͷ