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

バージョン管理システムの概要と使い方

macneko-ayu
November 09, 2017

 バージョン管理システムの概要と使い方

2017/10/21に開催された「【DTPの勉強会 第26回】DTPスクリプト・プロフェッショナルの思考や管理の中身をみてみよう」に登壇させていただいたときの資料です。

macneko-ayu

November 09, 2017
Tweet

More Decks by macneko-ayu

Other Decks in Technology

Transcript

  1. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    όʔδϣϯ؅ཧγεςϜͷ֓ཁͱ
    ࢖͍ํ
    ԣా޹࣍࿠

    View Slide

  2. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ࣗݾ঺հ
    ໊લɿԣా޹࣍࿠
    4/4ɿ!NBDOFLP@BZVʢ͜͏ͪΌΜࠇೣ·ΈΕʣ
    ॴଐɿגࣜձࣾROPUF
    ݱ৬ɿՈͰ͸Ϩϊ͘Μͷ෕ͪΌΜͱͯ͠ɺ
    ɹɹɹձࣾͰ͸ඖͷೣࣾһͷੈ࿩܎ͱͯ͠ɺ
    ɹɹɹ೔ʑೣ༷ʹ͖͜࢖ΘΕ͍ͯΔεϚϗΞϓϦ։ൃऀ
    લ৬ɿ%51ਐߦ؅ཧ݉ΦϖϨʔλʔ݉εΫϦϓτ։ൃऀ

    View Slide

  3. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ࣗݾ঺հ
    • εΫϦϓτྺ͸೥ऑ͘Β͍
    • 1$ͷதͷࣗ෼ͷॻ͍ͨεΫϦϓτΛݕࡧͨ͠
    ‣ &YUFOE4DSJQU͸ɺݸ͙Β͍
    ‣ "QQMF4DSJQU͸ɺݸ͙Β͍
    • εΫϦϓτ͸ॻ͖ࣺͯΔ͜ͱ͕ଟ͍ͷͰɺ
    ߦํෆ໌ͳ΋ͷ͕ଟ਺

    View Slide

  4. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    • ͝ΜΕͷϥϘ
    ‣ J04ɺ"OESPJEɺ
    "EPCFܥιϑτͷࣗಈԽεΫϦϓτͳͲͷ
    ϝϞ݉༻ϒϩά
    ‣ IUUQXXXNBDOFLPDPN
    ϒϩά঺հ

    View Slide

  5. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    • %51FSͷεΫϦϓτ΋͘΋͘ձ
    ‣ εΫϦϓτΛॻ͍ͯΔਓɺॻ͖͍ͨͱࢥ͍ͬͯΔਓ͕
    ू·ͬͯɺษڧͰ͖Δ৔ɻࢀՃऀಉ࢜Ͱڭ͑͋ͬͨΓɺ
    ٞ࿦ͨ͠Γɺ΋͘΋ͨ͘͠ΓɺΘ͍Θ͍͢Δ৔ॴ
    ‣ ִ݄։࠵ɺ࣍ճ։࠵͸ʢ౔ʣ
    ‣ IUUQTEUQNLNLDPOOQBTTDPN
    ‣ ࢀՃऀืूதʂ
    ओ࠵͍ͯ͠Δ΋͘΋͘ձ

    View Slide

  6. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    όʔδϣϯ؅ཧɺͯ͠·͔͢ʁ
    • ຊηογϣϯͰ͸ɺϑΝΠϧͷมߋཤྺΛ؅ཧͯ͠ɺ
    ಛఆͷόʔδϣϯʹ໭͢͜ͱΛՄೳʹ͢Δ͜ͱΛ
    όʔδϣϯ؅ཧͱ͢Δ
    • %51Ͱྫ͑Δͱɺ޻ఔ͝ͱʹ൛΍ߍਖ਼༻ࢴΛ؅ཧ͠ɺ
    ͳʹ͔͋ͬͨͱ͖ʹલ޻ఔͷঢ়ଶΛ֬ೝͰ͖ΔΑ͏ʹ
    อͭ͜ͱ

    View Slide

  7. ͝ΜΕͷϥϘ
    • ਎ۙͳόʔδϣϯ؅ཧख๏
    ‣ ϑΝΠϧΛίϐʔͯ͠ϑΝΠϧ໊Λม͑ͯ؅ཧ͢Δ
    ‣ ϑΝΠϧΛผͷσΟϨΫτϦʹίϐʔͯ͠؅ཧ͢Δ
    ‣ αʔόʹ͋ΔϑΝΠϧΛϩʔΧϧʹίϐʔͯ͠؅ཧ͢Δ
    • อଘ͢Δ৔ॴΛϑΝΠϧ໊ͷҰ෦ͱͯ͠ߟ͑Δͱɺ
    ϑΝΠϧ໊Λมߋͯ͠όʔδϣϯ؅ཧΛ͍ͯ͠Δ
    ͝ΜΕͷϥϘ
    ϑΝΠϧ໊όʔδϣϯ؅ཧ

    View Slide

  8. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ϑΝΠϧ໊όʔδϣϯ؅ཧͷ
    ໰୊఺
    • ࣮ࡍʹӡ༻͢Δͱ໰୊͕ى͖΍͍͢͜ͱʹؾͮ͘
    ϑΝΠϧ໊Λ෇͚ؒҧ͑ͯ͠·ͬͨ
    ʢ࿈൪ҧ͍ɺ೔෇ҧ͍ͳͲʣ
    ϑΝΠϧΛίϐʔͨ͠৔ॴΛ๨Εͯ͠·ͬͨ
    ϑΝΠϧͷίϐʔ࣌ʹޡͬͯաڈͷϑΝΠϧʹ্ॻ͖
    ͯ͠͠·ͬͨ
    • ࣅͨΑ͏ͳܦݧΛ͓࣋ͪͷํ͸ଟ͍͸ͣ

    View Slide

  9. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ͳͥ໰୊͕ى͖΍͍͢ͷ͔
    • ݪҼ͸ͭ͋Δ
    ؅ཧ͢ΔϑΝΠϧͦͷ΋ͷΛૢ࡞ͯ͠
    όʔδϣϯ؅ཧΛߦ͍ͬͯΔ
    ཤྺͷ؅ཧΛਓؒͷهԱʹཔ͍ͬͯΔ
    • ໰୊Λղܾ͢Δํ๏ͱͯ͠ɺ
    όʔδϣϯ؅ཧγεςϜͷಋೖΛఏҊ

    View Slide

  10. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    όʔδϣϯ؅ཧγεςϜͱ͸
    • 8JLJQFEJBΑΓҾ༻
    lόʔδϣϯ؅ཧγεςϜͷ࠷΋جຊతͳػೳ͸ɺϑΝΠ
    ϧͷ࡞੒೔࣌ɺมߋ೔࣌ɺมߋ఺ͳͲͷཤྺΛอ؅͢Δ
    ͜ͱͰ͋Δɻ͜ΕʹΑΓɺԿ౓΋มߋΛՃ͑ͨϑΝΠϧ
    Ͱ͋ͬͯ΋ɺաڈͷঢ়ଶ΍มߋ಺༰Λ֬ೝͨ͠Γɺมߋલ
    ͷঢ়ଶΛ෮ݩ͢Δ͜ͱ͕༰қʹͳΔɻʙʢུʣz
    https://ja.wikipedia.org/wiki/όʔδϣϯ؅ཧγεςϜ

    View Slide

  11. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    όʔδϣϯ؅ཧγεςϜͷಋೖ
    • όʔδϣϯ؅ཧγεςϜΛಋೖ͢Δͱɺ
    ϑΝΠϧ໊όʔδϣϯ؅ཧΑΓ҆શͰɺ
    ͔ͭศརʹόʔδϣϯ؅ཧΛߦ͏͜ͱ͕Մೳ
    • Ͳ͏ͯ҆͠શͳͷ͔ɺͲ͏ͯ͠ศརͳͷ͔ʹ͍ͭͯɺ
    όʔδϣϯ؅ཧγεςϜͷ(JUͷ঺հͱͱ΋ʹઆ໌

    View Slide

  12. ͝ΜΕͷϥϘ
    • ϑΝΠϧͷ௥Ճɺ࡟আɺ಺༰มߋͳͲͷมߋཤྺΛ
    ϦϙδτϦͱݺ͹ΕΔ৔ॴʹอଘ͠ɺ
    աڈͷཤྺͷ֬ೝɺมߋ಺༰ͷ֬ೝɺ
    มߋલͷঢ়ଶ΁ͷ෮ݩͳͲΛՄೳʹ͢Δ
    • ϦϙδτϦͷछྨ
    ‣ ϩʔΧϧʢࣗ෼ͷ1$ʣʹ഑ஔ͢ΔϩʔΧϧϦϙδτϦ
    ‣ αʔόʹ഑ஔ͢ΔϦϞʔτϦϙδτϦ
    ͝ΜΕͷϥϘ
    (JUͱ͸

    View Slide

  13. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ΑΓৄ͘͠஌Γ͍ͨํ͸
    • (JUͷެࣜαΠτ
    ‣ IUUQTHJUTDNDPN
    • (JUͷެࣜυΩϡϝϯτ
    ‣ IUUQTHJUTDNDPNCPPLKBW

    View Slide

  14. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    • ༻ޠ΍ίϚϯυʹ͍ͭͯ͸ɺࢿྉΛࢀর
    • खॱΛઆ໌͠ͳ͕ΒɺλʔϛφϧͰσϞ

    View Slide

  15. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    ϑΥϧμΛ࡞੒ͯ͠ɺҠಈ
    $ mkdir Sample
    $ cd Sample
    ϩʔΧϧϦϙδτϦΛ࡞੒
    ˞ॳճͷΈඞཁ
    $ git init

    View Slide

  16. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    ϫʔΫπϦʔʢ(JU؅ཧԼʹ͋Δ࡞ۀ༻ͷσΟϨΫτϦʣ
    ʹϑΝΠϧΛ௥Ճɺ·ͨ͸ϑΝΠϧͷ಺༰Λมߋ
    $ touch sample.jsx
    ϫʔΫπϦʔ಺ͷϑΝΠϧͷঢ়ଶΛ֬ೝ
    $ git status

    View Slide

  17. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    ௥Ճɾมߋͨ͠ϑΝΠϧΛεςʔδϯάɾΤϦΞ
    ʢίϛοτ͢ΔϑΝΠϧΛه࿥͢Δ৔ॴʣʹొ࿥
    $ git add sample.jsx
    ϫʔΫπϦʔ಺ͷϑΝΠϧͷঢ়ଶΛ֬ೝ
    $ git status

    View Slide

  18. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    ίϛοτʢεςʔδϯάɾΤϦΞʹొ࿥͞Εͨมߋର৅
    ΛϦϙδτϦʹ൓өʣ͢Δ
    $ git commit -m ϑΝΠϧΛ௥Ճ
    ϫʔΫπϦʔ಺ͷϑΝΠϧͷঢ়ଶΛ֬ೝ
    $ git status
    • खॱʙΛ܁Γฦ͠ɺมߋཤྺΛه࿥

    View Slide

  19. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    • มߋཤྺΛه࿥͢Δ͜ͱʹΑΓɺ͍ͭͰ΋ϑΝΠϧΛ
    աڈͷঢ়ଶʹ໭͢͜ͱ͕Մೳ
    • ࢲͷதͰόʔδϣϯ؅ཧγεςϜͷҰ൪ͷར఺

    View Slide

  20. ͝ΜΕͷϥϘ
    • Ұൠతʹ͸ɺదٓϒϥϯνΛ࡞੒ͯ͠ɺ
    ৽ػೳͷ։ൃ΍όάͷमਖ਼Λߦ͏͜ͱ͕ଟ͍
    ‣ ࡞੒ͨ͠ϒϥϯν͸࠷ऴతʹNBTUFSʹϚʔδ͢Δ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ

    View Slide

  21. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUͷόʔδϣϯ؅ཧͷखॱ
    • ϦϞʔτϦϙδτϦͱ࿈ܞ͢Δ

    View Slide

  22. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUΛ4PVSDF5SFF͔Β࢖͏
    • ίϚϯυΛλʔϛφϧͰೖྗ͢ΔҎ֎ͷํ๏ͱͯ͠
    (6*πʔϧΛ࢖༻͢Δํ๏͕͋Δ
    • (6*Ͱૢ࡞͍ͨ͠ํ͸ɺ4PVSDF5SFF͕͓͢͢Ί
    • 4PVSDF5SFFͱ͸
    ‣ ࢼ༻ظؒ͸೔ؒɻϢʔβొ࿥͢Δͱܧଓͯ͠࢖͑Δ
    ‣ IUUQTKBBUMBTTJBODPNTPGUXBSFTPVSDFUSFF

    View Slide

  23. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUΛ4PVSDF5SFF͔Β࢖͏
    • 4PVSDF5SFFΛ࢖༻͢Ε͹ɺλʔϛφϧͰίϚϯυΛ
    ೖྗ͢Δ͜ͱͳ͘ɺόʔδϣϯ؅ཧΛߦ͏͜ͱ͕Մೳ
    • 4PVSDF5SFF͕ཪଆͰίϚϯυૢ࡞Λͯ͘͠ΕΔ
    • 4PVSDF5SFFͰͲͷΑ͏ʹόʔδϣϯ؅ཧΛߦ͏͔ɺ
    खॱʹԊͬͯσϞΛ͠·͢

    View Slide

  24. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    (JUΛ4PVSDF5SFF͔Β࢖͏
    • (6*Ͱૢ࡞Ͱ͖ΔͷͰศར
    • 4PVSDF5SFFΛ࢖͏͜ͱͰɺ
    (JUΛ࢖༻͢Δ͜ͱͷϋʔυϧ͸֨ஈʹԼ͕Δ
    • ίϚϯυͷ΄͏͕΍Γ΍͍͢৔߹΋͋ΔͷͰɺ
    ίϚϯυ΋֮͑Δ
    • ຊηογϣϯͷͨΊʹվΊͯษڧ͕ͨ͠ɺ
    ؆୯ͳૢ࡞͸ίϚϯυͷ΄͏͕ૣ͍͜ͱ΋͋Δ
    ‣ ୯७ͳίϛοτͳͲ

    View Slide

  25. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ࠓ೔͓࿩ͨ͜͠ͱ
    • ϑΝΠϧ໊όʔδϣϯ؅ཧΛଔۀͯ͠ɺ
    όʔδϣϯ؅ཧγεςϜΛಋೖ͢Δ
    • (JUʹ৮ΕΔ
    • 4PVSDF5SFFΛ࢖͏
    • ίϚϯυ΋֮͑Δ

    View Slide

  26. バージョン管理で

    心穏やかな日々を!

    View Slide

  27. ͝ΜΕͷϥϘ
    ͝ΜΕͷϥϘ
    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide