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
980
Other Decks in Programming
See All in Programming
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
230
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.5k
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
470
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
Cache Me If You Can
ryunen344
2
1.4k
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
530
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Making Projects Easy
brettharned
117
6.4k
A designer walks into a library…
pauljervisheath
207
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Thoughts on Productivity
jonyablonski
70
4.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Automating Front-end Workflow
addyosmani
1370
200k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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ϒϥϯν໊ ˠϒϥϯνͷ࡞ͱνΣοΫΞτΛಉ࣌ʹߦ͏ίϚϯυ