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
140
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
17
UNIX/Linuxのキモである標準入出力・リダイレクション・パイプ を説明してみよう!
7603
0
770
Other Decks in Programming
See All in Programming
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
900
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
870
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
130
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
310
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
GitHub Copilotのススメ
marcy731
1
220
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.5k
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1k
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
420
Featured
See All Featured
Embracing the Ebb and Flow
colly
80
4.2k
Documentation Writing (for coders)
carmenintech
60
4k
A Philosophy of Restraint
colly
197
16k
Six Lessons from altMBA
skipperchong
22
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
GraphQLの誤解/rethinking-graphql
sonatard
55
9.3k
Navigating Team Friction
lara
179
13k
Building Applications with DynamoDB
mza
88
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
Side Projects
sachag
451
41k
Web development in the modern age
philhawksworth
203
10k
YesSQL, Process and Tooling at Scale
rocio
165
13k
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ϒϥϯν໊ ˠϒϥϯνͷ࡞ͱνΣοΫΞτΛಉ࣌ʹߦ͏ίϚϯυ