Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gitの流れ...総復習してみた

F-Yuki
March 25, 2021

 Gitの流れ...総復習してみた

2021年3月24日Fukuoka.rb 200回 LT大会の発表資料です。

F-Yuki

March 25, 2021
Tweet

More Decks by F-Yuki

Other Decks in Programming

Transcript

  1. ᶃର৅ϑΝΠϧͷϩʔΧϧϦϙδτϦΛ࡞੒ʢHJUJOJU  ɹɹɹɹɹɹɹɹɹɹˣ ᶄϑΝΠϧΛίϛοτ͢ΔҝʹΠϯσοΫε΁ҠಈʢHJUBEEʣϫʔΫπϦʔˠΠϯσοΫε ɹ˞HJUTUBUVTˠϫʔΫπϦʔͱΠϯσοΫεʹ͋ΔϑΝΠϧͷঢ়ଶΛ֬ೝ͢ΔίϚϯυ ɹ˞HJUSFTFUˠΠϯσοΫε͔ΒπϦʔϫʔΫ΁໭͢ ɹɹɹɹɹɹɹɹɹɹˣ ᶅมߋ಺༰Λอଘɻίϛοτϝοηʔδهड़ɻʢHJUDPNNJUNzίϝϯτzʣ ɹ˞ίϛοτͷ֬ೝ HJUMPH

    ᶃHJUJOJU ᶅHJUDPNNJUNzίϝϯτz ᶄHJUBEE ΠϯσοΫε ϩʔΧϧϦϙδτϦ ϫʔΫπϦʔ 📁 ʲgit add .ʳˠϑΝΠϧશͯ ʲgit add ϑΝΠϧ໊ʳˠࢦఆϑΝΠϧͷΈ ࡞ۀ͍ͯ͠Δ ϑΝΠϧ͕͋Δ৔ॴ 📁 (JUͰͷόʔδϣϯ؅ཧΛ։࢝͢Δ 📁 ฤूͨ͠ϑΝΠϧΛίϛοτ͢Δલͷ Ծ֬ఆͯ͠ஔ͍͓ͯ͘৔ॴ ࣗ਎ͷPC಺ʹ͋ΔϦϙδτϦ ʲ(JUͷجຊతͳྲྀΕʙϩʔΧϧϦϙ࡞੒͔Βίϛοτ·Ͱʙʳ
  2. ᶃϦϞʔτϦϙδτϦ (JUIVCͳͲ ͰϦϙδτϦΛ࡞੒ ᶄίϛοτࡁΈͷσΟϨΫτϦͷ͋ΔϩʔΧϧϦϙδτϦͱ࡞੒ͨ͠ϦϞʔτϦϙδτϦͷඥ෇͚Λ ߦ͏ HJUSFNPUFBEEPSJHJO63-  ˞63-͸(JUIVCʹͯϦϞʔτϦϙδτϦΛ࡞੒࣌ʹͰ͖ͨ63- ˞<PSJHJO>ͱ͸ઃఆͨ͠ϦϞʔτϦϙδτϦ໊ͷ̍ͭ ˞ϦϙδτϦͷ໊લ͸ࣗ༝

     ᶅඥ෇͚͕׬ྃͨ͠ΒɺϩʔΧϧϦϙδτϦ಺ͷฤूࡁΈϑΝΠϧΛϦϞʔτϦϙδτϦ΁QVTI͢Δ HJUQVTIϦϞʔτ໊ϒϥϯν໊HJUQVTIPSJHJONBTUFS ᶃϦϙδτϦͷ࡞੒ ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ ϦϞʔτͷαʔόʔ಺͋Δ ϦϙδτϦ ᶄHJUSFNPUFBEEPSJHJO˒63- ϩʔΧϧϦϙδτϦ 📁 ࣗ਎ͷPC಺ʹ͋ΔϦϙδτϦ ࡞੒͢ΔͱϩʔΧϧϦϙδτϦͱ ඥ෇͚ͷҝͷ˒63-͕࡞੒͞ΕΔ ϩʔΧϧϦϙδτϦͱϦϞʔτϦϙδτϦͷඥ෇͚ ᶅHJUQVTIϦϞʔτ໊ϒϥϯν໊ HJUQVTIPSJHJONBTUFS ฤूࡁΈϒϥϯν ϩʔΧϧϦϙδτϦ಺ Λ ϦϞʔτϦϙδτϦ΁QVTI ʲ(JUͷجຊతͳྲྀΕʙίϛοτ͔ΒϦϞʔτϦϙ΁QVTI·Ͱʳ
  3. ڞಉ։ൃʹ͸ɺϦϞʔτϦϙδτϦʲ(JU)VCͳͲʳ͔ΒϩʔΧϧϦϙδτϦʲࣗ෼ͷ1$಺ʳ΁ίϐʔΛ͔ͯ͠ Β֤͕ࣗ࡞ۀΛߦ͏ɻͦͷࡍʹඞཁʹͳΔͷ͕ɺΫϩʔϯ HJUDMPOF ίϚϯυɻ ʔΫϩʔϯʔ ᶃϦϞʔτϦϙδτϦΛΫϩʔϯ͢Δ HJUDMPOF63-  ˠϦϞʔτϦϙδτϦͷίϐʔͱͳΔσΟϨΫτϦ͕࡞੒͞ΕΔ ɹ˞63-͸ڞಉ։ൃ͢ΔϦϞʔτϦϙδτϦͷ63-

    ɹ ᶄDEίϚϯυʹͯΫϩʔϯͯ͠࡞੒͞ΕͯσΟϨΫτϦ΁Ҡಈ͢Δ DEର৅σΟϨΫτϦ  ɹ˞MTίϚϯυͰ࡞੒͞ΕͨσΟϨΫτϦ಺ͷϑΝΠϧΛ֬ೝ ͪΌΜͱΫϩʔϯͰ͖͍ͯΔ͔֬ೝ ϦϞʔτϦϙδτϦ 📁 (JU)VCͳͲ ϦϞʔτͷαʔόʔ಺͋Δ ϦϙδτϦ ᶃHJUDMPOF63- ϩʔΧϧϦϙδτϦ 📁 ࣗ਎ͷPC಺ʹ͋ΔϦϙδτϦ ᶄcd <ର৅σΟϨΫτϦ> ϦϞʔτϦϙδτϦΛΫϩʔϯ͢Δ Ϋϩʔϯͯ͠࡞੒͞Εͯ σΟϨΫτϦ΁Ҡಈ͢Δ ʲ(JUͷجຊతͳྲྀΕʙڞಉ։ൃฤ ΫϩʔϯɺϒϥϯνɺϓϧϦΫɺϚʔδ ʳ
  4. ᶃϑΝΠϧΛฤू͢Δҝɺίϐʔͨ͠ϑΝΠϧ 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ʔ
  5. ϓϧͱ͸ɺϦϞʔτϦϙδτϦ͔Βมߋ಺༰ ཤྺ Λࣗ෼ͷϩʔΧϧϦϙδτϦʹ൓ө ͤ͞Δ͜ͱ ᶃϩʔΧϧϦϙδτϦͷϒϥϯνΛNBTUFSϒϥϯν΁੾Γସ͑ HJUDIFDLPVUNBTUFS  ᶄϦϞʔτϦϙδτϦͷNBTUFSΛϩʔΧϧϦϙδτϦͷNBTUFS΁QVMM ൓ө ͤ͞Δ

    ɹ HJUQVMMPSJHJONBTUFS NBTUFS ϒϥϯν ᶃHJUDIFDLPVUNBTUFS (JUIVCΑΓ ίϐʔͨ͠ϑΝΠϧ ϩʔΧϧϦϙδτϦ಺࡞ۀ ᶄgit pull origin master 📁 ϦϞʔτϦϙδτϦ NBTUFSϒϥϯν PSJHJO ʔϓϧʔ
  6. ϦϞʔτϦϙδτϦ 📁 (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 ਤղ
  7. ʲ(JUͷجຊతͳ༻ޠʳ ɾϦϙδτϦ ɹˠ(JUͰ؅ཧ͢Δର৅ʹͳΔσΟϨΫτϦ΍ϑΝΠϧͷࣄΛ͢͞ ɾϩʔΧϧϦϙδτϦ ɹˠࣗ਎ͷ1$಺ʹ͋ΔϦϙδτϦ ɾϦϞʔτϦϙδτϦ ɹˠϦϞʔτͷαʔόʔ಺ʹͯɺ؅ཧ΍ڞ༗͢ΔҝͷϦϙδτϦ (JU)VCͳͲ  ɾϫʔΫπϦʔ

    ɹˠϦϙδτϦ഑ԼͷϑΝΠϧΛฤूͯࣗ͠ಈతʹอଘ͞ΕΔ৔ॴʢίϛοτର৅Ͱ͸ͳ͍ɺͰ͖ͳ͍ʣ ɾΠϯσοΫε ɹˠฤूͨ͠ϑΝΠϧΛίϛοτ͢ΔલͷԾ֬ఆͯ͠ஔ͍͓ͯ͘৔ॴʢίϛοτର৅ʣ ɾίϛοτ ɹˠϦϙδτϦʹฤू಺༰Λه࿥͢Δࣄ ɾΫϩʔϯ ɹˠϦϞʔτϦϙδτϦΛෳ੡͢Δ͜ͱ ɾϒϥϯν ɹˠཤྺͷྲྀΕΛ෼ذͯ͠ه࿥͍ͯ͘͠΋ͷɻ෼ذͨ͠ϒϥϯν͸ଞͷϒϥϯνͷӨڹΛड͚ͳ͍ͷͰෳ਺มߋΛಉ࣌ʹਐΊ͍ͯ͘ࣄ͕Մೳɻ ɾνΣοΫΞ΢τ ɹˠଞͷϒϥϯν΁੾Γସ͑ Ҡಈ 
  8. ʲ(JUίϚϯυʳ ɾHJUJOJU ˠϩʔΧϧϦϙδτϦΛ࡞੒͢ΔίϚϯυ ɹ (JUͰͷόʔδϣϯ؅ཧΛ։࢝͢Δ  ɾHJUBEE ˠϫʔΫπϦʔʹ͋ΔϑΝΠϧΛΠϯσοΫεʹҠಈͤ͞ΔίϚϯ υ ʢHJUBEEϑΝΠϧશͯ

    HJUBEEϑΝΠϧ໊ࢦఆϑΝΠϧͷΈʣ εςʔδͱݺͿ  ɾHJUSFTFU ΞϯεςʔδͱݺͿ  ˠΠϯσοΫεʹ௥Ճͨ͠ϑΝΠϧΛϫʔΫπϦʔʹ໭͢ίϚϯυ ɾHJUDPNNJUʢHJUDPNNJUNzϝοηʔδzʣ ˠϩʔΧϧϦϙδτϦͷมߋ಺༰ΛอଘɻίϛοτϝοηʔδΛೖ ྗ ɾHJUMPH ˠίϛοτϩάΛ֬ೝ͢ΔίϚϯυ ɾHJUTUBUVT ˠϫʔΫπϦʔͱΠϯσοΫεʹ͋ΔϑΝΠϧͷঢ়ଶΛ֬ೝ͢Δί Ϛϯυ ɾHJUDMPOF63- ˠϦϞʔτϦϙδτϦΛϩʔΧϧϦϙδτϦʹΫϩʔϯ͢Δ ɾHJUCSBODI ϩʔΧϧϦϙδτϦʹ͋ΔϒϥϯνͷҰཡͱݱࡏબ୒த ͷϒϥϯνΛ֬ೝ  ˠϒϥϯνͷϦετදࣔ HJUCSBODI  ˠϒϥϯνͷ৽ن࡞੒ HJUCSBODIϒϥϯν໊  ˠϒϥϯνͷ࡟আ HJUCSBODIEϒϥϯν໊  ϒϥϯν͸ίϛοτ͢Δͱࣗಈతʹ࡞੒͞ΕΔϒϥϯν NBTUFS  ɾHJUDIFDLPVUϒϥϯν໊ ˠϒϥϯνͷ੾Γସ͑ίϚϯυ ˠϫʔΫπϦʔͷϑΝΠϧͷঢ়ଶΛݩʹ໭͢ "EEঢ়ଶʢίϛοτঢ়ଶʣͰ͸໭ͤͳ͍  ɾHJUDIFDLPVUCϒϥϯν໊ ˠϒϥϯνͷ࡞੒ͱνΣοΫΞ΢τΛಉ࣌ʹߦ͏ίϚϯυ