Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
知っておいてほしいGitの本当の基礎 / Let's know Git
Masaya Kazama
March 24, 2017
Technology
1
3.5k
知っておいてほしい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
890
Other Decks in Technology
See All in Technology
“Do you have a virtual router?” Discuss how to use virtual routers
line_developers
PRO
0
450
Google Cloud Updates 2022/12/01-12/15
no24oka
1
150
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
kotatyamtema
1
530
Kubernetes Pod Probes
thockin
5
2.2k
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
880
大企業がアジャイルになる途中で 起きること/What happens on the way big company becomes agile
chinmo
0
2.7k
re:Invent re:Cap / AWS Lambda Updates
bulbulpaul
1
140
EMになって最初の失敗談 - コミュニケーション編 -
fukuiretu
1
320
propsのバケツリレー対策でGlobal_Stateを使うその前に
taro28
8
1.7k
Akiba-dot-SaaS-ExtraHop
sakaitakeshi
1
100
Kaggleシミュレーションコンペの動向
nagiss
0
180
Visual Studio Codeのタスク機能の使い方
ismt7
0
180
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
132
21k
Making Projects Easy
brettharned
102
4.8k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.8k
Music & Morning Musume
bryan
36
4.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
2
390
Web Components: a chance to create the future
zenorocha
304
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
830
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 ৽͘͠࡞Γ͍ͯ͠ΔΘ͚ͳͷͰɺϦϞʔτͷଞͷ ࡞ۀऀͱಉظ͢Δͱ͖ҙ
͜ΕͰ͏ ͔Γ·ͨ͠ Ͷ