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
160
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
27
UNIX/Linuxのキモである標準入出力・リダイレクション・パイプ を説明してみよう!
7603
0
950
Other Decks in Programming
See All in Programming
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
48
32k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
180
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
160
C++20 射影変換
faithandbrave
0
550
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
620
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
260
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
650
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
210
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
340
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
510
エンジニア向け採用ピッチ資料
inusan
0
170
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Bash Introduction
62gerente
614
210k
GitHub's CSS Performance
jonrohan
1031
460k
The Invisible Side of Design
smashingmag
300
51k
The Cult of Friendly URLs
andyhume
79
6.5k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Automating Front-end Workflow
addyosmani
1370
200k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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ϒϥϯν໊ ˠϒϥϯνͷ࡞ͱνΣοΫΞτΛಉ࣌ʹߦ͏ίϚϯυ