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

これからはじめる非エンジニアのための開発環境構築 Git/GitHubによるソースコード管理編

これからはじめる非エンジニアのための開発環境構築 Git/GitHubによるソースコード管理編

2018.12.11にTEQSで開催した「これからはじめる非エンジニアのための開発環境構築 Git/GitHubによるソースコード管理編」で使用したスライドです。スライドに書いていなけど、当日話したことが多いのであまり役にはたたないかもしれませんが。

Feb8e097ee40b40156071a6fc60d03df?s=128

Wakabayashi, Kenichi

December 11, 2018
Tweet

Transcript

  1. ͜Ε͔Β͸͡ΊΔ ඇΤϯδχΞͷͨΊͷ։ൃ؀ڥߏங Git/GitHubʹΑΔιʔείʔυ؅ཧฤ

  2. ຊ೔ͷ಺༰ ɾιϑτ΢ΣΞ։ൃͷྲྀΕ ɾ։ൃ؀ڥͷ؅ཧํ๏ʹ͍ͭͯ ɾGit/GitHubʹ͍ͭͯ ɾGitHubϋϯζΦϯ ɾ࣭ٙԠ౴

  3. ιϑτ΢ΣΞ։ൃͷྲྀΕ { } </> xlsx docx md ઃఆ৘ใ ։ൃπʔϧ ʢ౷߹։ൃ؀ڥɺΤσΟλɺपลπʔϧʣ

    ιʔείʔυ ը૾ υΩϡϝϯτ 1.ઃܭ 2.࣮૷ɾςετ ઃܭΛݩʹ࣮૷ υΩϡϝϯτʹ ϑΟʔυόοΫ 3.ϦϦʔε pptx 4.αϙʔτɾΞοϓσʔτ
  4. ։ൃ؀ڥΛ؅ཧ͢Δ໨త ϦϦʔεͨ͠
 ࣮ߦܗࣜ΋͘͠͸αʔϏεͱ
 ಉ͡΋ͷΛ࠶ݱՄೳʹ͢Δ

  5. ROMσʔλ͔Βιʔείʔυ ෮ݩͨ͠࿩͢Δʁ

  6. ։ൃϓϩηεͰ࡞੒͢Δσʔλ { } </> xlsx docx md ιʔείʔυ ΞΠίϯσʔλɺը૾ͳͲ ઃఆ৘ใ

    υΩϡϝϯτʢςΩετܗࣜʣ υΩϡϝϯτʢOfficeจॻͳͲʣ pptx
  7. νʔϜ։ൃͰͷϙΠϯτ { } </> xlsx docx md pptx { }

    </> xlsx docx md pptx ࡞ۀ଴ͪ΍ख໭ΓΛൃੜͤͣ͞ʹ࡞ۀΛਐΊΔ ڞ༗
  8. ϑΝΠϧͷछྨʹΑͬͯڞ༗ํ๏Λ࢖͍෼͚Δ { } </> xlsx docx md ιʔείʔυ ΞΠίϯσʔλɺը૾ͳͲ ઃఆ৘ใ

    υΩϡϝϯτʢςΩετܗࣜʣ υΩϡϝϯτʢOfficeจॻͳͲʣ pptx ڞ༗αʔόʔ
  9. Gitͷಛ௕ ςΩετϑΝΠϧΛߦ୯ҐͰ؅ཧͰ͖Δ
 →ಉ͡ϑΝΠϧΛผʑʹߋ৽ͨ͠৔߹Ͱ΋ɺ
 ɹޙͰ݁߹ʢϚʔδʣ͕Մೳ ϑΝΠϧ୯ҐͱϓϩδΣΫτ୯Ґͷ
 ྆ํͷཤྺ͕؅ཧͰ͖Δ
 →೚ҙͷ࣌఺ʢόʔδϣϯʣͷ
 ɹϓϩδΣΫτͷঢ়ଶΛऔΓग़ͤΔɻ

  10. Git͕޲͍͍ͯͳ͍༻్ ɾόΠφϦϑΝΠϧͷ؅ཧ
 ɹˠͨͩ͠ɺϓϩδΣΫτ಺ͷը૾͸GitͰ؅ཧ
 
 ɾେ༰ྔͷϑΝΠϧͷ؅ཧ
 ɹˠಈըϑΝΠϧͳͲ

  11. Officeจॻ͸ڞ༗ϑΥϧμͰ ɾGitͰͷࠩ෼؅ཧ͕Ͱ͖ͳ͍
 ɹˠख࡞ۀʹΑΔϚʔδ͕ඞཁɻ ɾଞͷਓ͕։͍͍ͯΔ͔Ͳ͏͔͕Θ͔Δɻ
 ɹˠಉ࣌ʹมߋ͢Δ͜ͱ͕๷͛Δɻ
 
 ͜ΕΒͷϑΝΠϧ͸ڞ༗ϑΥϧμͰͷ
 ڞ༗ͷํ͕ޮ཰͕ྑ͍ɻ

  12. Markdownʹ͍ͭͯ ɾςΩετ͚ͩͰɺจॻߏ଄Λهड़Ͱ͖Δهड़ํࣜ ɾςΩετ͚ͩͰهड़Ͱ͖ΔͨΊɺΩʔϘʔυૢ࡞͚ͩͰ
 ɹॻࣜΛઃఆͰ͖ɺ׳ΕΔͱจॻ࡞੒͕଎͘ͳΔɻ ɾςΩετܗࣜͳͷͰGit/GitHubͰͷཤྺ؅ཧ͕Մೳɻ ɾαʔϏεʹΑͬͯ࢓༷ʹҧ͍͕͋Δɻ

  13. ϑΝΠϧͷछྨʹΑͬͯڞ༗ํ๏Λ࢖͍෼͚Δ { } </> xlsx docx pptx { } </>

    md md ڞ༗ϑΥϧμ Git Git
  14. Git ʹ͍ͭͯ

  15. Gitͱ͸ ιʔείʔυΛؚΉ։ൃ؀ڥͷߋ৽ཤྺΛ؅ཧ͢Δ
 ΦʔϓϯιʔεͷγεςϜɺແྉͰར༻Մೳɻ Linuxͷ։ൃऀͰ͋ΔϦʔφεɾτʔόϧࢯ͕։ൃɻ ෳ਺ͷόʔδϣϯɺաڈͷཤྺΛ͢΂ͯ؅ཧͰ͖ɺ
 ඞཁͳ࣌ظͷ։ൃ؀ڥΛ͍ͭͰ΋औΓग़͢͜ͱ͕Ͱ͖Δɻ ςΩετϑΝΠϧͰ͋Ε͹ɺมߋ಺༰ʹΑͬͯ͸ࠩ෼Λࣗಈ తʹϚʔδͰ͖Δɻ

  16. ͨͱ͑͹͜Μͳ࣌ ɾ੡඼ͱͯ͠ver.1.0ΛϦϦʔε ɾݱࡏόʔδϣϯΞοϓ൛Λ։ൃத ɾࢢ৔Ͱෆ۩߹͕ݟ͔ͭͬͨͷͰɺ
 ɹࢸٸରࡦ͕ඞཁʂ

  17. ։ൃ൛ͱ͸ผʹରࡦ൛͕ඞཁʹͳͬͨʂ release next taisaku ϦϦʔε൛ ։ൃ్த൛ ࢑ఆରԠ൛ ϓϩδΣΫτͷίϐʔΛ࡞੒ ͯ͠όʔδϣϯΞοϓ։ൃ ϓϩδΣΫτͷίϐʔΛ࡞੒

    ͯ͠ରࡦ൛Λ࡞੒ ϦϦʔε ରࡦ಺༰Λ։ൃ൛ʹ΋ ൓ө͠ͳ͚Ε͹ͳΒͳ͍
  18. GitΛ࢖͏ͱ͜Ε͕؆୯ʹͳΔ ɾϓϩδΣΫτϑΥϧμͷίϐʔ͕؆୯ʹͰ͖Δɻ ɾϓϩδΣΫτϑΥϧμͷ੾Γସ͕͑ίϚϯυҰൃͰͰ͖Δɻ ɾมߋ಺༰ΛࣗಈͰϚʔδͰ͖Δ
 ɹˠ಺༰ʹΑͬͯ͸ਓؒͷख࡞ۀ͕ඞཁɻ

  19. Gitͷ༻ޠ ༻ޠ ҙຯ ϦϙδτϦ ϓϩδΣΫτΛ؅ཧ͢ΔͨΊͷೖΕ෺ ϒϥϯν branch ϓϩδΣΫτϑΥϧμͷίϐʔΛ࡞ͬͨΓɺ੾Γସ͑Δૢ࡞ ίϛοτ commit

    ϦϙδτϦʹมߋ಺༰Λొ࿥͢Δૢ࡞ ϓογϡ push ϩʔΧϧʢࣗ෼ͷPCʣͷϦϙδτϦΛαʔόʔ্ͷ ϦϙδτϦʹొ࿥͢Δૢ࡞ Ϋϩʔϯ clone αʔόʔ্ͷϦϙδτϦ͔ΒϩʔΧϧʹίϐʔΛ࡞Δૢ࡞
  20. GitͷσʔλͷྲྀΕ ϓϩδΣΫτϑΥϧμ ίϛοτ (commit) ϓογϡ (push) ϩʔΧϧϦϙδτϦ ʢPC಺ʣ ϦϞʔτϦϙδτϦ ʢαʔόʔ಺ʣ

    ϒϥϯν (branch)
  21. GitHubʹ͍ͭͯ

  22. GitHubͱ͸ ɾGitͷϦϞʔτϦϙδτϦΛఏڙ͢ΔαʔϏεɻ ɾެ։ϦϙδτϦͷΈͰ͋Ε͹ແྉɻ
 ɹඇެ։ϦϙδτϦΛ࢖͏৔߹͸༗ྉɻ
 ɹˠ̍ਓͳΒ$7/݄ɻνʔϜͷ৔߹͸ਓ਺ʹΑͬͯҟͳΔɻ ɾσʔλ؅ཧҎ֎ʹɺλεΫ؅ཧɺόά؅ཧͷ࢓૊Έ΋ఏڙ ɾWebαΠτͷ࡞੒ͱެ։΋Մೳɻ ɾެ։ϦϙδτϦ͸͢΂ͯͷσʔλ͕ӾཡՄೳͰ͋Δ͜ͱʹ஫ҙ

  23. GitHubϋϯζΦϯ

  24. ϋϯζΦϯͷखॱ 1. GitHub Desktopͷμ΢ϯϩʔυͱΠϯετʔϧ 2. GitHubΞΧ΢ϯτͷ࡞੒ 3. GitHub Desktopͷઃఆ 4.

    ϦϙδτϦ࡞੒ 5. ϦϙδτϦͷΫϩʔϯ 6. ϑΝΠϧͷ௥Ճͱίϛοτ 7. ϦϞʔτϦϙδτϦ΁ͷϓογϡ 8. ϒϥϯνͷ࡞੒ͱ੾Γସ͑ 9. มߋ಺༰ͷϚʔδ
  25. 1. GitHub Desktopͷμ΢ϯϩʔυͱΠϯετʔϧ 1. ҎԼͷURLʹΞΫηεͯ͠ɺදࣔ͞ΕΔμ΢ϯϩʔυ
 ɹϘλϯΛԡͯ͠”GitHub Desktop”Λμ΢ϯϩʔυ
 https://desktop.github.com/ 2. μ΢ϯϩʔυͨ͠ϑΝΠϧ͔ΒΠϯετʔϧΛ࣮ߦɻ


    
 Windowsͷ৔߹
 →μ΢ϯϩʔυͨ͠”GitHubDesktopSetup.exe”ΛμϒϧΫϦοΫͯ͠
 ࣮ߦ͠ɺදࣔ͞ΕΔखॱʹैͬͯΠϯετʔϧɻ
 
 Macͷ৔߹
 →μ΢ϯϩʔυͨ͠”GitHubDesktop.zip”ΛμϒϧΫϦοΫͯ͠ల։ɻ ల։ޙͷ”GitHub Desktop.app”ΛΞϓϦέʔγϣϯϑΥϧμʹҠಈɻ
  26. 2. GitHubΞΧ΢ϯτͷ࡞੒(1/4) https://github.com/ ʹΞΫηε͠ɺදࣔ͞Εͨը໘Ͱ
 Ϣʔβʔ໊ɺϝʔϧΞυϨεɺύεϫʔυΛೖྗ

  27. 2. GitHubΞΧ΢ϯτͷ࡞੒(2/4) ૊৫ΞΧ΢ϯτΛ࡞ΔͲ͏͔ͷ֬ೝɻ ݸਓΞΧ΢ϯτͰ͋Ε͹νΣοΫΦϑ GitHub͔ΒͷϝϧϚΨૹ৴Մ൱
 ෆՄͰ͋Ε͹νΣοΫΦϑ ϓϥϯͷબ୒ ༗ྉϓϥϯͳΒඇެ։ϦϙδτϦͷ࡞੒͕Մೳ

  28. 2. GitHubΞΧ΢ϯτͷ࡞੒(3/4) ϓϩάϥϛϯάͷܦݧΛೖྗ ࠨ͕Ұ൪ܦݧ͕ߴ͍ GitHubͷ࢖༻໨త ͋ͳͨࣗ਎ͷଐੑɻಇ͍͍ͯΔɺ ֶੜɺϗϏʔΠετɺͦͷଞ SubmitͰ׬ྃ

  29. 2. GitHubΞΧ΢ϯτͷ࡞੒(4/4) ɾొ࿥࣌ͷϝʔϧΞυϨεͰҎԼͷϝʔϧ͕ड৴͞Ε͍ͯΔͷΛ
 ɹ֬ೝ͢Δɻ ɾϝʔϧຊจʹදࣔ͞Ε͍ͯΔҎԼͷϘλϯΛબ୒͢Δɻ Ҏ্ͰɺGitHubΞΧ΢ϯτͷ࡞੒͸׬ྃͰ͢ɻ
 ඞͣϝʔϧͷ֬ೝ·ͰΛߦͳ͍ͬͯͩ͘͞ɻ

  30. 3. GitHub Desktopͷઃఆ 1. GitHub.comͷํͷ"Sign in”Λબ୒ 2. Ϣʔβʔ໊ʢ΋͘͠͸ϝʔϧΞυϨεʣͱ
 ύεϫʔυΛೖྗͯ͠”Sign in”Λબ୒

    3. ొ࿥࣌ͷϝʔϧΞυϨεʹૹΒΕ͍ͯΔҎԼͷϝʔϧͷɺຊจ಺ͷϦϯΫΛΫϦοΫ͢Δɻ Ҏ্ͰɺGitHub Desktopͷઃఆ͸׬ྃͰ͢ɻ ඞͣϝʔϧͷ֬ೝ·ͰΛߦͳ͍ͬͯͩ͘͞ɻ
  31. 4. ϦϙδτϦ࡞੒ 1. ӈ্ͷ”+”ϝχϡʔ͔ΒʮNew repositoryʯΛબ୒ɻ

  32. 4. ϦϙδτϦ࡞੒ 1.ඞཁࣄ߲ΛೖྗΛೖྗͯ͠ʮCreate repositoryʯΛબ୒ɻ ϦϙδτϦ໊ʢҰൠతʹ͸ϓϩδΣΫτ໊ʣ Publicʢެ։ʣ͔Privateʢඇެ։ʣΛબ୒ READMEΛ࡞੒͢ΔʹνΣοΫΛೖΕΔ

  33. 5. ϦϙδτϦͷΫϩʔϯ 1.ϦϙδτϦͷը໘͔ΒʮClone or downloadʯϘλϯΛԡ͠ʮOpen in DesktopʯΛબ୒͠ ·͢ɻɹ

  34. 5. ϦϙδτϦͷΫϩʔϯ 1.ϦϙδτϦͷը໘͔ΒʮClone or downloadʯϘλϯΛԡ͠
 ʮOpen in DesktopʯΛબ୒͠·͢ɻɹ 2.ϦϙδτϦͷอଘઌΛબ୒ͯ͠ʮCloneʯΛબ୒

  35. 6. ϑΝΠϧͷ௥Ճͱίϛοτ 1.ϦϙδτϦͷอଘઌͱͯ͠ࢦఆͨ͠ϑΥϧμʹɺϑΝΠϧΛίϐʔ͠·͢ɻ 2.GitHub Desktopʹ௥Ճ͞ΕͨϑΝΠϧ͕ҎԼͷΑ͏ʹදࣔ͞Ε·͢ͷͰɺ
 มߋ಺༰ͷઆ໌Λهೖͯ͠ɺ”Commit to master”Λબ୒͢Δͱɺมߋ಺༰͕อଘ͞Ε·͢ɻ

  36. 7. ϦϞʔτϦϙδτϦ΁ͷϓογϡ ίϛοτૢ࡞Λͨ͠ޙͷGitHub DesktopʹҎԼͷද͕ࣔ͋Γ·͢ɻ ͜Ε͸ɺϩʔΧϧϦϙδτϦʹϓογϡ͍ͯ͠ͳ͍ίϛοτ͕1ͭ͋Δ͜ͱΛ
 ද͍ͯ͠·͢ɻ
 ͜ͷදࣔࣗମ͕Ϙλϯʹͳ͍ͬͯ·͢ͷͰɺ͜͜Λબ୒͢ΔͱϩʔΧϧͷมߋ಺༰͕
 ϦϞʔτʹૹΒΕɺϩʔΧϧͱϦϞʔτͷ಺༰͕ಉ͡ʹͳΓ·͢ɻ

  37. 8. ϒϥϯνͷ࡞੒ͱ੾Γସ͑(1/4) GitHub Desktopͷը໘্෦ͷʮCurrent BranchʯΛΫϦοΫ͢ΔͱϒϥϯνͷҰཡ͕ද ࣔ͞Ε·͢ɻݱࡏ͸ʮmasterʯ͔͋͠Γ·ͤΜɻ ৽͍͠ɺ։ൃ༻ϒϥϯνͷ໊લͱͯ͠ʮdevʯΛೖྗͯ͠ʮCreate New BranchʯΛબ୒ ͠·͢ɻ

    ݱࡏͷϒϥϯν͕ʮdevʯʹมΘΓ·ͨ͠ɻ
  38. 8. ϒϥϯνͷ࡞੒ͱ੾Γସ͑(2/4) ʮcount10.htmlʯͷλΠτϧͷ෦෼Λʮαϯϓϧʯ͔ΒʮΧ΢ϯτμ΢ϯʯʹมߋ͠·͢ɻ มߋ͞ΕͨϑΝΠϧͱͯ͠ʮcount10.htmlʯ͕දࣔ͞Εɺมߋ಺༰͕දࣔ͞Ε·͢ɻ
 GitͰ͸ߦ୯ҐͰ੺৭ͷߦ͕࡟আ͞Εͨߦɺ྘৭ͷߦ͕௥Ճ͞Εͨߦͱͯ͠දࣔ͞Ε·͢ɻ มߋ಺༰ͷίϝϯτΛೖྗͯ͠ίϛοτ͠·͢ɻ

  39. 8. ϒϥϯνͷ࡞੒ͱ੾Γସ͑(3/4) ϒϥϯνϝχϡʔ͔ΒʮmasterʯΛબ୒ͯ͠ϒϥϯνΛʮmasterʯʹ໭͠·͢ɻ ΋͏Ұ౓ʮcount10.htmlʯΛΤσΟλͰ։͍ͯΈ͍ͯͩ͘͞ɻ
 λΠτϧ͕มߋલͷʮαϯϓϧʯʹ໭͍ͬͯΔ͜ͱ͕Θ͔Γ·͢ɻ ͜Ε͸ɺGit͕ʮmasterʯͱʮdevʯͱ͍͏2ͭͷϑΥϧμΛ੾Γସ͍͑ͯΔ͔ΒͰɺ
 ઌ΄Ͳͷมߋ͸ʮdevʯͷํʹ൓ө͞Ε͍ͯ·͢ɻ

  40. 8. ϒϥϯνͷ࡞੒ͱ੾Γସ͑(4/4) GitΛ࢖ͬͨγεςϜͰ͸ɺPC্ͷϑΥϧμ͸Git͕؅ཧ͢ΔϑΥϧμΛݟΔͨΊͷ૭Ͱ͔͠ ͳ͘ɺͲͷϑΥϧμͷ಺༰Λදࣔ͢Δ͔͸GitͷʮbranchʯίϚϯυͰ੾Γସ͑ΒΕ·͢ɻ master dev PC্ͷ࣮ࡍͷϑΥϧμ branchͰ੾Γସ͑ PCͷϑΥϧμ͸Gitͷ த਎ΛݟΔͨΊͷ૭

  41. 9. มߋ಺༰ͷϚʔδ(1/3) ࠷ޙʹʮdevʯͰมߋͨ͠λΠτϧͷมߋΛʮmasterʯʹ൓ө͠·͢ʢϚʔδʣɻ
 ൓өઌͷʮmasterʯϒϥϯν͕બ୒͞Εͨঢ়ଶʹ͠·͢ɻ ʮBranchʯϝχϡʔ͔ΒʮMerge Into Current Branch…ʯΛબ୒͠·͢ɻ

  42. 9. มߋ಺༰ͷϚʔδ(2/3) ൓өݩΛબ୒͢Δը໘ʹͳΓ·͢ͷͰ ʮdevʯΛબ୒͠·͢ɻ
 ʮdevʯΛબ୒͢Δͱ൓ө͢Δίϛοτ͕1ͭ ͋Δ͜ͱ͕දࣔ͞Ε·͢ͷͰɺ
 ʮMerge dev into masterʯΛબ୒͠·͢ɻ

  43. 9. มߋ಺༰ͷϚʔδ(3/3) ʮcount10.htmlʯΛ։͍ͯɺλΠτϧͷมߋ͕൓ө͞Ε͍ͯΔ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ɻ
 GitHub DesktopͷʮHistoryʯΛΫϦοΫͯ͠ɺλΠτϧͷมߋ͕มߋཤྺʹ
 ೖ͍ͬͯΔ͜ͱΛ֬ೝ͠·͢ɻ

  44. ಛఆͷϑΝΠϧΛڞ༗ର৅֎ʹ͢Δ ແࢹϑΝΠϧʮ.gitignoreʯΛ࢖͏ͱࢦఆͨ͠ϑΝΠϧΛ
 ڞ༗ର৅͔Β֎ͤ·͢ɻ
 
 ྫʣ
 ɾϓϩάϥϜΛϏϧυͨ࣌͠ͷόΠφϦϑΝΠϧ΍
 ɹதؒϑΝΠϧɻ
 ɾ࢖༻͍ͯ͠ΔPCͷυϥΠϒ໊΍ϑΥϧμ໊͕ҟͳΔͳͲ
 ɹ։ൃ؀ڥ͕ϝϯόʔʹΑͬͯҟͳΔ৔߹ͷઃఆϑΝΠϧ
 ɹˠઃఆϑΝΠϧͷϑΝΠϧ໊ʹʮ.tmplʯͳͲΛ͚ͭͯ


    ɹɹςϯϓϨʔτϑΝΠϧͱͯ͠ڞ༗͢Δɻ
  45. Git/GitHubΛ࢖͏্ͰؾΛ͚ͭΔ͜ͱ ɾίϛοτ͸Ͱ͖Δ͚ͩখ͍͞୯ҐͰߦ͏͜ͱɻ
 ɹˠཤྺ͕ৄࡉʹ؅ཧͰ͖·͢ɻ ɾԿ͔࡞ۀΛ࢝ΊΔ࣌͸໘౗Ͱ΋ϒϥϯνΛ࡞Δɻ
 ɹˠϒϥϯνΛ࡞Δɺมߋ͢Δɺ֬ೝ͢ΔɺϚʔδ
 ɹɹ͜Ε͕Git/GitHubΛ࢖ͬͨ։ൃͷجຊͰ͢ɻ
 ɹɹϒϥϯνΛ࡞͓͚ͬͯ͹߄ͯΔ͜ͱ͸͋Γ·ͤΜɻ ɾͻͱΓͰ։ൃ͢Δ࣌Ͱ΋GitΛ࢖͏
 ɹˠ։ൃཤྺ͕͋Δ͜ͱͷ͋Γ͕ͨ͞͸ɺԿ͔໰୊͕
 ɹɹىͬͨ࣌͜ʹΘ͔Γ·͢ʢসʣɻ

  46. ࠓ೔ͷৼΓฦΓ

  47. ࣭ٙԠ౴

  48. https://github.com/kwaka1208/project1211