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の流れ...総復習してみた
Search
F-Yuki
March 25, 2021
Programming
0
170
Gitの流れ...総復習してみた
2021年3月24日Fukuoka.rb 200回 LT大会の発表資料です。
F-Yuki
March 25, 2021
Tweet
Share
More Decks by F-Yuki
See All by F-Yuki
コミュニティって...いい...
7603
0
28
UNIX/Linuxのキモである標準入出力・リダイレクション・パイプ を説明してみよう!
7603
0
990
Other Decks in Programming
See All in Programming
CSC305 Lecture 04
javiergs
PRO
0
270
Six and a half ridiculous things to do with Quarkus
hollycummins
0
170
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
490
Le côté obscur des IA génératives
pascallemerrer
0
150
CSC305 Lecture 05
javiergs
PRO
0
210
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
明日から始めるリファクタリング
ryounasso
0
140
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
940
CSC509 Lecture 04
javiergs
PRO
0
300
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
160
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
Raft: Consensus for Rubyists
vanstee
140
7.1k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
RailsConf 2023
tenderlove
30
1.2k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Documentation Writing (for coders)
carmenintech
75
5.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Visualization
eitanlees
149
16k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Statistics for Hackers
jakevdp
799
220k
Transcript
ʮ(JUͷྲྀΕ૯෮शͯ͠Έͨʙʯ ਫ ɹ'VLVPLBSCճ-5େձ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹ!ϑογʔ
ॕ🎊։࠵ɺ͓ΊͰͱ͏͍͟͝·͢🎉
ʙຊͷΞδΣϯμ ɾ(JUͷجຊతͳྲྀΕ ϩʔΧϧϦϙ࡞͔Βίϛοτ ϦϞʔτϦϙQVTI ɾڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδ
ʙຊͷΞδΣϯμʙ ɾ(JUͷجຊతͳྲྀΕ ϩʔΧϧϦϙ࡞͔Βίϛοτ ϦϞʔτϦϙQVTI ɾڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδ
ʲ(JUʹ͍ͭͯʳ ɾϑΝΠϧͷόʔδϣϯཧΛߦ͏πʔϧͷ̍ͭ ϓϩάϥϜίʔυͷόʔδϣϯΛཧɺมߋཤྺΛهɾ͢Δ͜ͱͰɺ ୭͕͍ͭɺԿΛมߋͨ͠ͷ͔͕ɺΘ͔ΔΑ͏ʹͳ͍ͬͯΔɻ ͜ͷ(JUΛ༻͢Δ͜ͱʹΑͬͯɺมߋཤྺΛ͔͞ͷ΅ͬͯίʔυΛݩͷঢ়ଶʹ͢ࣄ Ͱ͖ɺෳਓͰͷڞಉ։ൃ͕Մೳ ɹ (JUͰཧ͢Δ͜ͱͰɺࣗಈͰʮฤूऀʯʮฤू࣌ʯ͕อଘ͞ΕΔҝɺ ϑΝΠϧ͕ʮ͍ͭʯʮ୭ʹΑͬͯʯʮͲ͜ʹमਖ਼͕͋ͬͨͷ͔ʯ͕ ͙͢ʹѲͰ͖Δࣄ͕ग़དྷΔ
ᶃରϑΝΠϧͷϩʔΧϧϦϙδτϦΛ࡞ʢHJUJOJU ɹɹɹɹɹɹɹɹɹɹˣ ᶄϑΝΠϧΛίϛοτ͢ΔҝʹΠϯσοΫεҠಈʢHJUBEEʣϫʔΫπϦʔˠΠϯσοΫε ɹ˞HJUTUBUVTˠϫʔΫπϦʔͱΠϯσοΫεʹ͋ΔϑΝΠϧͷঢ়ଶΛ֬ೝ͢ΔίϚϯυ ɹ˞HJUSFTFUˠΠϯσοΫε͔ΒπϦʔϫʔΫ͢ ɹɹɹɹɹɹɹɹɹɹˣ ᶅมߋ༰Λอଘɻίϛοτϝοηʔδهड़ɻʢHJUDPNNJUNzίϝϯτzʣ ɹ˞ίϛοτͷ֬ೝ HJUMPH
ᶃHJUJOJU ᶅHJUDPNNJUNzίϝϯτz ᶄHJUBEE ΠϯσοΫε ϩʔΧϧϦϙδτϦ ϫʔΫπϦʔ 📁 ʲgit add .ʳˠϑΝΠϧશͯ ʲgit add ϑΝΠϧ໊ʳˠࢦఆϑΝΠϧͷΈ ࡞ۀ͍ͯ͠Δ ϑΝΠϧ͕͋Δॴ 📁 (JUͰͷόʔδϣϯཧΛ։࢝͢Δ 📁 ฤूͨ͠ϑΝΠϧΛίϛοτ͢Δલͷ Ծ֬ఆͯ͠ஔ͍͓ͯ͘ॴ ࣗͷPCʹ͋ΔϦϙδτϦ ʲ(JUͷجຊతͳྲྀΕʙϩʔΧϧϦϙ࡞͔Βίϛοτ·Ͱʙʳ
ᶃϦϞʔτϦϙδτϦ (JUIVCͳͲ ͰϦϙδτϦΛ࡞ ᶄίϛοτࡁΈͷσΟϨΫτϦͷ͋ΔϩʔΧϧϦϙδτϦͱ࡞ͨ͠ϦϞʔτϦϙδτϦͷඥ͚Λ ߦ͏ HJUSFNPUFBEEPSJHJO63- ˞63-(JUIVCʹͯϦϞʔτϦϙδτϦΛ࡞࣌ʹͰ͖ͨ63- ˞<PSJHJO>ͱઃఆͨ͠ϦϞʔτϦϙδτϦ໊ͷ̍ͭ ˞ϦϙδτϦͷ໊લࣗ༝
ᶅඥ͚͕ྃͨ͠ΒɺϩʔΧϧϦϙδτϦͷฤूࡁΈϑΝΠϧΛϦϞʔτϦϙδτϦQVTI͢Δ HJUQVTIϦϞʔτ໊ϒϥϯν໊HJUQVTIPSJHJONBTUFS ᶃϦϙδτϦͷ࡞ ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ ϦϞʔτͷαʔόʔ͋Δ ϦϙδτϦ ᶄHJUSFNPUFBEEPSJHJO˒63- ϩʔΧϧϦϙδτϦ 📁 ࣗͷPCʹ͋ΔϦϙδτϦ ࡞͢ΔͱϩʔΧϧϦϙδτϦͱ ඥ͚ͷҝͷ˒63-͕࡞͞ΕΔ ϩʔΧϧϦϙδτϦͱϦϞʔτϦϙδτϦͷඥ͚ ᶅHJUQVTIϦϞʔτ໊ϒϥϯν໊ HJUQVTIPSJHJONBTUFS ฤूࡁΈϒϥϯν ϩʔΧϧϦϙδτϦ Λ ϦϞʔτϦϙδτϦQVTI ʲ(JUͷجຊతͳྲྀΕʙίϛοτ͔ΒϦϞʔτϦϙQVTI·Ͱʳ
ʙຊͷΞδΣϯμʙ ɾڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδ
ڞಉ։ൃʹɺϦϞʔτϦϙδτϦʲ(JU)VCͳͲʳ͔ΒϩʔΧϧϦϙδτϦʲࣗͷ1$ʳίϐʔΛ͔ͯ͠ Β֤͕ࣗ࡞ۀΛߦ͏ɻͦͷࡍʹඞཁʹͳΔͷ͕ɺΫϩʔϯ HJUDMPOF ίϚϯυɻ ʔΫϩʔϯʔ ᶃϦϞʔτϦϙδτϦΛΫϩʔϯ͢Δ HJUDMPOF63- ˠϦϞʔτϦϙδτϦͷίϐʔͱͳΔσΟϨΫτϦ͕࡞͞ΕΔ ɹ˞63-ڞಉ։ൃ͢ΔϦϞʔτϦϙδτϦͷ63-
ɹ ᶄDEίϚϯυʹͯΫϩʔϯͯ͠࡞͞ΕͯσΟϨΫτϦҠಈ͢Δ DEରσΟϨΫτϦ ɹ˞MTίϚϯυͰ࡞͞ΕͨσΟϨΫτϦͷϑΝΠϧΛ֬ೝ ͪΌΜͱΫϩʔϯͰ͖͍ͯΔ͔֬ೝ ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ ϦϞʔτͷαʔόʔ͋Δ ϦϙδτϦ ᶃHJUDMPOF63- ϩʔΧϧϦϙδτϦ 📁 ࣗͷPCʹ͋ΔϦϙδτϦ ᶄcd <ରσΟϨΫτϦ> ϦϞʔτϦϙδτϦΛΫϩʔϯ͢Δ Ϋϩʔϯͯ͠࡞͞Εͯ σΟϨΫτϦҠಈ͢Δ ʲ(JUͷجຊతͳྲྀΕʙڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδ ʳ
ᶃϑΝΠϧΛฤू͢Δҝɺίϐʔͨ͠ϑΝΠϧ NBTUFSϒϥϯν ͔Βฤू༻ϒϥϯνΛ࡞͢Δ ɹ HJUDIFDLPVUCOFX@CSBODI໊ ɾ࡞ͨ͠ฤू༻ϒϥϯν OFX@CSBODI໊ Λฤू͍ͯ͘͠ɻ ᶄฤू͕ऴྃͨ͠ΒɺϑΝΠϧΛίϛοτ͢ΔҝʹΠϯσοΫεҠಈʢHJUBEE
ɹɹɹɹɹɹɹɹɹɹ ᶅมߋ༰Λอଘɻίϛοτϝοηʔδهड़ɻʢHJUDPNNJUNzίϝϯτzʣ ᶆίϛοτࡁΈϑΝΠϧ ϒϥϯν ΛϦϞʔτϦϙδτϦ (JUIVC PSJHJO ϦϙδτϦ QVTI͢Δ ɹ HJUQVTIPSJHJOฤूࡁΈϒϥϯν໊ ɹ˞ϦϞʔτϦϙδτϦΛ֬ೝ͢ΔʹHJUSFNPUFͰ֬ೝ͢Δ ᶇQVTI͢ΔͱϦϞʔτϦϙδτϦ HJUIVC ʹίϛοτࡁΈϑΝΠϧ ϒϥϯν ͕ө͑͞Δ NBTUFS ϒϥϯν OFX@CSBODI ᶃHJUDIFDLPVUCOFX@CSBODI໊ ฤू༻ϒϥϯν࡞ (JUIVCΑΓ ίϐʔͨ͠ϑΝΠϧ ϩʔΧϧϦϙδτϦ࡞ۀ ฤू༻ϒϥϯνΛฤू͢Δ ᶄHJUBEEฤूϒϥϯν ᶅgit commit -mzίϝϯτz ϦϞʔτϦϙδτϦ QVTI͢Δҝͷ४උ ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ PSJHJO ᶆgit push origin <ฤूࡁΈϒϥϯν໊> ᶇฤूࡁΈϒϥϯνϑΝΠϧ ʔϒϥϯν࡞ʙฤूɾQVTIʔ
ɾϓϧϦΫͱϩʔΧϧϦϙδτϦͰมߋͨ͠༰Λ(JUIVC্Ͱଞͷ։ൃऀʹ௨͠ɺίʔυϨ ϏϡʔͳͲΛߦͳͬͯΒ͏͜ͱ ᶃ(JUIVC্ͷʮίϛοτࡁΈϑΝΠϧ ϒϥϯν ʯͷ$PNQBSFQVMMSFRVFTUΛΫϦοΫͯ͠ɺ ϨϏϡʔͷ͓ئ͍Λ௨͢Δ ˞Ͳͷϒϥϯνʹରͯ͠QVMMSFRVFTUΛ͢Δͷ͔Λ֬ೝ͢Δ͜ͱ ᶄίϝϯτهࡌޙɺ$SFBUFQVMMSFRVFTUΛΫϦοΫ 📁
PSJHJO ίϛοτࡁΈϒϥϯνϑΝΠϧ ϦϞʔτϦϙδτϦ࡞ۀ ᶃCompare & pull requestΛ ΫϦοΫ ฤू༰ͷίʔυϨϏϡʔͷ͓ئ͍Λ௨ ᶄCreate pull requestΛΫϦοΫ ฤू༰ͷίʔυϨϏϡʔͷ͓ئ͍Λ௨ ʔϓϧϦΫʔ
ɾϚʔδͱมߋ༰ΛNBTUFSϒϥϯν౷߹͢Δɻมߋ༰ΛҰͭͷϒϥϯνʹ·ͱΊΔ ᶃίʔυϨϏϡʔ͕ऴΘͬͨΒɺϦϞʔτͷNBTUFSϒϥϯνʹରͯ͠ϚʔδΛߦ͏ ɹ.FSHFQVMMSFRVFTUˠ$POpSNNFSHFͷॱͰΫϦοΫ ᶄϚʔδ͕ऴΘͬͨΒɺίϛοτࡁΈϑΝΠϧ ϒϥϯν ඞཁͳ͍ͷͰআ͢Δ %FMFUFCSBODIΛΫϦοΫͰআ 📁
(JU)VCͳͲ PSJHJO ίϛοτࡁΈϒϥϯνϑΝΠϧ ϦϞʔτϦϙδτϦ࡞ۀ ᶃ.FSHFQVMMSFRVFTU ˣ ɹ$POpSNNFSHF ᶄDelete branch ϓϧϦΫࡁΈ ʔϚʔδʔ
ϓϧͱɺϦϞʔτϦϙδτϦ͔Βมߋ༰ ཤྺ ΛࣗͷϩʔΧϧϦϙδτϦʹө ͤ͞Δ͜ͱ ᶃϩʔΧϧϦϙδτϦͷϒϥϯνΛNBTUFSϒϥϯνΓସ͑ HJUDIFDLPVUNBTUFS ᶄϦϞʔτϦϙδτϦͷNBTUFSΛϩʔΧϧϦϙδτϦͷNBTUFSQVMM ө ͤ͞Δ
ɹ HJUQVMMPSJHJONBTUFS NBTUFS ϒϥϯν ᶃHJUDIFDLPVUNBTUFS (JUIVCΑΓ ίϐʔͨ͠ϑΝΠϧ ϩʔΧϧϦϙδτϦ࡞ۀ ᶄgit pull origin master 📁 ϦϞʔτϦϙδτϦ NBTUFSϒϥϯν PSJHJO ʔϓϧʔ
ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ ϦϞʔτͷαʔόʔ͋Δ ϦϙδτϦ ϩʔΧϧϦϙδτϦ 📁 ࣗͷPCʹ͋ΔϦϙδτϦ ڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδͷ·ͱΊʣ
ᶃHJUDMPOF63- ɹᶄHJUDIFDLPVU ɹɹɹCOFX@CSBODI໊ ᶅHJUBEEฤूϒϥϯν ᶆgit commit -mzίϝϯτz ᶇgit push origin <ฤूࡁΈϒϥϯν໊> ᶈCompare & pull request ᶉCreate pull request ᶊ.FSHFQVMMSFRVFTU ɹɹɹɹɹɹ ɹɹ$POpSNNFSHF ᶋDelete branch ᶌgit pull origin master ਤղ
օ༷ɽɽɽ͍͔͕ͩͬͨͰ͠ΐ͏͔🙇 ͜ͷઆ໌ͰΘΓ·ͨ͠Ͱ͠ΐ͏͔ʁ (PPE👍ɹPSɹ#BE👎 ੋඇɺίϝϯτΞυόΠεΛ͚·͢ͱ͍Ͱ͢🙇 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🙇
ʲ(JUͷجຊతͳ༻ޠʳ ɾϦϙδτϦ ɹˠ(JUͰཧ͢ΔରʹͳΔσΟϨΫτϦϑΝΠϧͷࣄΛ͢͞ ɾϩʔΧϧϦϙδτϦ ɹˠࣗͷ1$ʹ͋ΔϦϙδτϦ ɾϦϞʔτϦϙδτϦ ɹˠϦϞʔτͷαʔόʔʹͯɺཧڞ༗͢ΔҝͷϦϙδτϦ (JU)VCͳͲ ɾϫʔΫπϦʔ
ɹˠϦϙδτϦԼͷϑΝΠϧΛฤूͯࣗ͠ಈతʹอଘ͞ΕΔॴʢίϛοτରͰͳ͍ɺͰ͖ͳ͍ʣ ɾΠϯσοΫε ɹˠฤूͨ͠ϑΝΠϧΛίϛοτ͢ΔલͷԾ֬ఆͯ͠ஔ͍͓ͯ͘ॴʢίϛοτରʣ ɾίϛοτ ɹˠϦϙδτϦʹฤू༰Λه͢Δࣄ ɾΫϩʔϯ ɹˠϦϞʔτϦϙδτϦΛෳ͢Δ͜ͱ ɾϒϥϯν ɹˠཤྺͷྲྀΕΛذͯ͠ه͍ͯ͘͠ͷɻذͨ͠ϒϥϯνଞͷϒϥϯνͷӨڹΛड͚ͳ͍ͷͰෳมߋΛಉ࣌ʹਐΊ͍ͯ͘ࣄ͕Մೳɻ ɾνΣοΫΞτ ɹˠଞͷϒϥϯνΓସ͑ Ҡಈ
ʲ(JUίϚϯυʳ ɾHJUJOJU ˠϩʔΧϧϦϙδτϦΛ࡞͢ΔίϚϯυ ɹ (JUͰͷόʔδϣϯཧΛ։࢝͢Δ ɾHJUBEE ˠϫʔΫπϦʔʹ͋ΔϑΝΠϧΛΠϯσοΫεʹҠಈͤ͞ΔίϚϯ υ ʢHJUBEEϑΝΠϧશͯ
HJUBEEϑΝΠϧ໊ࢦఆϑΝΠϧͷΈʣ εςʔδͱݺͿ ɾHJUSFTFU ΞϯεςʔδͱݺͿ ˠΠϯσοΫεʹՃͨ͠ϑΝΠϧΛϫʔΫπϦʔʹ͢ίϚϯυ ɾHJUDPNNJUʢHJUDPNNJUNzϝοηʔδzʣ ˠϩʔΧϧϦϙδτϦͷมߋ༰ΛอଘɻίϛοτϝοηʔδΛೖ ྗ ɾHJUMPH ˠίϛοτϩάΛ֬ೝ͢ΔίϚϯυ ɾHJUTUBUVT ˠϫʔΫπϦʔͱΠϯσοΫεʹ͋ΔϑΝΠϧͷঢ়ଶΛ֬ೝ͢Δί Ϛϯυ ɾHJUDMPOF63- ˠϦϞʔτϦϙδτϦΛϩʔΧϧϦϙδτϦʹΫϩʔϯ͢Δ ɾHJUCSBODI ϩʔΧϧϦϙδτϦʹ͋ΔϒϥϯνͷҰཡͱݱࡏબத ͷϒϥϯνΛ֬ೝ ˠϒϥϯνͷϦετදࣔ HJUCSBODI ˠϒϥϯνͷ৽ن࡞ HJUCSBODIϒϥϯν໊ ˠϒϥϯνͷআ HJUCSBODIEϒϥϯν໊ ϒϥϯνίϛοτ͢Δͱࣗಈతʹ࡞͞ΕΔϒϥϯν NBTUFS ɾHJUDIFDLPVUϒϥϯν໊ ˠϒϥϯνͷΓସ͑ίϚϯυ ˠϫʔΫπϦʔͷϑΝΠϧͷঢ়ଶΛݩʹ͢ "EEঢ়ଶʢίϛοτঢ়ଶʣͰͤͳ͍ ɾHJUDIFDLPVUCϒϥϯν໊ ˠϒϥϯνͷ࡞ͱνΣοΫΞτΛಉ࣌ʹߦ͏ίϚϯυ