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

Git講習 2014.04.15

Git講習 2014.04.15

Held at UEC

masawada

April 15, 2014
Tweet

More Decks by masawada

Other Decks in Programming

Transcript

  1. Gitߨश
    2014.04.15

    View Slide

  2. ͜Μ͹Μ͸

    View Slide

  3. ߨࢣ ঺հ
    • masawada
    • ৘ใཧ޻ֶ෦ ৘ใɾ௨৴޻ֶՊ 3೥

    ίϯϐϡʔλαΠΤϯείʔε
    • Θ͔Βͳ͍͜ͱ͕͋Ε͹

    [email protected]·ͨ͸

    @masawada (Twitter) ·Ͱ

    View Slide

  4. ຊ೔ͷ͓͠ͳ͕͖
    • Gitͱ͸
    • جຊతͳίϚϯυ / ߟ͑ํ
    • Gitͷத਎ΛΈͯΈΑ͏

    View Slide

  5. ߨशΛߦ͏ʹ͋ͨͬͯ
    • ࣮ࡍʹίϚϯυΛଧͪͳ͕Βઆ໌͠·͢ɻ
    • Մೳͳํ͸͓खݩͷ୺຤Ͱ͓ࢼ͍ͩ͘͠͞ɻ
    • ࢿྉ͸WebαΠτʹΞοϓϩʔυ͞Ε͍ͯ·͢ɻ

    View Slide

  6. Gitͱ͸

    View Slide

  7. Gitͱ͸
    όʔδϣϯ؅ཧγεςϜ (VCS)

    = มߋཤྺΛه࿥ / ؅ཧ͢Διϑτ΢ΣΞ
    !
    ଞʹ΋Subversion΍BazzarͳͲ…

    View Slide

  8. ྫ͑͹
    • Ϩϙʔτ΍ϓϩάϥϜΛॻ͍͍ͯͯ

    ۠੾Γͷྑ͍ͱ͜ΖͰอଘ͓͖͍ͯͨ͠
    • ·ͱ΋ʹॻ͚͍ͯΔ / ಈ͍͍ͯΔঢ়ଶͷ΋ͷΛ

    อଘ͓͍ͯ͠ɺ໰୊͕ൃੜͨ͠ͱ͖ʹ

    ໭ͤΔΑ͏ʹ͍ͨ͠

    View Slide

  9. ͍··Ͱͷ
    มߋཤྺ؅ཧ

    View Slide

  10. ϑΝΠϧϕʔε

    View Slide

  11. Excelϕʔε

    View Slide

  12. खಈͰมߋཤྺΛ؅ཧ͢ΔͷͰ
    ਓҝతͳϛε͕ଟ͘ͳΔ
    ͜ΕΒΛ͢΂ͯ
    ࣗಈԽ͍ͨ͠

    View Slide

  13. ͱ͍͏ߟ͑ͷ΋ͱੜ·Εͨͷ͕
    όʔδϣϯ؅ཧγεςϜ

    View Slide

  14. ɾҰ೥࣍ޙظͷجૅϓϩάϥϛϯά͓Αͼԋश
    → Cݴޠͷॻ͖ํΛֶͿ
    → มߋཤྺΛ؅ཧ͢Δඞཁ͕͋·Γͳ͍
    !
    !
    ɾຊϫʔΫγϣοϓ
    → ಈ͘ϞϊΛ࡞Δ
    → มߋཤྺΛ؅ཧ͢Δඞཁ͕͋Δ

    View Slide

  15. جૅฤ

    View Slide

  16. جૅฤ
    • ϦϙδτϦ (repository)
    • ίϛοτ (commit)

    View Slide

  17. ϦϙδτϦͱ͸
    σʔλͷมߋཤྺΛ؅ཧ͢Δ
    ா฽ͷΑ͏ͳ΋ͷ

    View Slide

  18. ίϛοτͱ͸
    ϦϙδτϦʹରͯ͠
    มߋཤྺΛ௥Ճ͢Δ͜ͱ

    View Slide

  19. ίϛοτ࡞੒ͷྲྀΕ
    1. ϫʔΫπϦʔͰϑΝΠϧΛ௥Ճ/มߋ/࡟আ͢Δ
    2. ͋Δఔ౓·ͱ·ͬͨΒΠϯσοΫεʹ௥Ճ͢Δ

    ΠϯσοΫεͱ͸ɺػೳ͝ͱͳͲʹ෼͚ͯίϛοτΛ

    ࡞ΔͨΊʹมߋͨ͠ϑΝΠϧΛཷΊΔ৔ॴ

    ΠϯσοΫεʹొ࿥͞Ε͍ͯͳ͍ϑΝΠϧ͸ίϛοτ͞Εͳ͍
    3. ΠϯσοΫεͷ಺༰ΛϦϙδτϦʹίϛοτ͢Δ

    View Slide

  20. ϦϙδτϦͱίϛοτ
    ϫʔΫπϦʔ ΠϯσοΫε ϦϙδτϦ
    (࡞ۀσΟϨΫτϦ)

    View Slide

  21. ϦϙδτϦͷॳظԽ
    $ git init

    View Slide

  22. ΠϯσοΫεʹมߋΛొ࿥
    $ git add [filename]
    $ git add .

    View Slide

  23. ίϛοτͷ࡞੒
    $ git commit
    $ git commit -m “message”

    View Slide

  24. ϑΝΠϧͷঢ়ଶΛදࣔ
    $ git status

    View Slide

  25. มߋཤྺͷදࣔ
    $ git log

    View Slide

  26. ͜͜·ͰΛσϞ

    View Slide

  27. ࠩ෼ͷදࣔ
    $ git diff [old] [new]

    View Slide

  28. ͜͜·ͰΛσϞ

    View Slide

  29. ϒϥϯνฤ

    View Slide

  30. ϒϥϯνͱ͸

    View Slide

  31. ϒϥϯνͱ͸
    ࢧ෦, ࢧہ

    View Slide

  32. ϒϥϯνͱ͸
    • ෳ਺ͷػೳΛಉ࣌ʹฒߦͯ͠࡞੒Ͱ͖Δ
    • νʔϜ։ൃΛ͢Δͱ͖ʹϒϥϯνΛ࡞Δ͜ͱͰ

    ଞਓͷมߋʹ໎࿭Λ͔͚ͳ͍Α͏࡞ۀͰ͖Δ
    • ෆ҆ͳ࡞ۀ͸ϒϥϯνΛ࡞͔ͬͯΒߦ͏͜ͱͰ

    ϒϥϯνΛফ͚ͩ͢Ͱݩͷঢ়ଶʹ໭ΕΔ

    View Slide

  33. ϒϥϯνͱ͸

    View Slide

  34. ϒϥϯνͷ࡞੒
    $ git branch [name]

    View Slide

  35. ϒϥϯνͷ৐Γ׵͑
    $ git checkout [name]

    View Slide

  36. ϒϥϯνͷ࡞੒ͱ৐Γ׵͑
    $ git checkout -b [name]

    View Slide

  37. ϒϥϯνͷ౷߹
    $ git merge [name]

    View Slide

  38. ϒϥϯνͷ࡟আ
    $ git branch -d [name]
    $ git branch -D [name]
    merge͞Ε͍ͯͳ͍ϒϥϯν͸-DͰফ͢

    View Slide

  39. ͜͜·ͰΛσϞ

    View Slide

  40. ϒϥϯνͷڝ߹

    View Slide

  41. ϒϥϯνͷڝ߹
    1. master͔Βfeature_1, feature_2ϒϥϯνΛ࡞੒
    2. feature_1ϒϥϯνʹػೳΛ௥Ճɺίϛοτ͢Δ
    3. feature_1ϒϥϯνΛmasterϒϥϯνʹmerge
    4. feature_2ϒϥϯνʹػೳΛ௥Ճɺίϛοτ͢Δ
    5. feature_2ϒϥϯνΛmasterϒϥϯνʹmerge

    View Slide

  42. ϒϥϯνͷڝ߹
    master
    feature_1
    feature_2

    View Slide

  43. ࣮ࡍʹσϞ

    View Slide

  44. ϦϞʔτϦϙδτϦ

    View Slide

  45. ϦϞʔτϦϙδτϦ
    • ϦϙδτϦΛαʔόʹόοΫΞοϓ
    • ϦϙδτϦΛଞਓͱڞ༗Ͱ͖Δ

    View Slide

  46. GitϦϙδτϦ
    ϗεςΟϯάαʔϏε

    View Slide

  47. ϦϞʔτϦϙδτϦͷొ࿥
    $ git remote add [name] [url]

    View Slide

  48. ϦϞʔτϦϙδτϦͷऔಘ
    $ git clone [url]

    View Slide

  49. ϦϞʔτϦϙδτϦͷߋ৽
    $ git push
    $ git push -u [name] [branch]

    View Slide

  50. ϩʔΧϧϦϙδτϦͷߋ৽
    $ git pull

    View Slide

  51. ͜͜·ͰΛσϞ

    View Slide

  52. ίϛοτͷ
    औΓফ͠/΍Γ௚͠

    View Slide

  53. ௚લͷίϛοτͷ΍Γͳ͓͠
    $ git commit --amend
    ͻͱͭ·͑ͷίϛοτΛ΍Γͳ͓͢

    View Slide

  54. ΠϯσοΫε௥ՃͷऔΓফ͠
    $ git reset
    ΠϯσοΫεʹ௥Ճͨ͠ϑΝΠϧͷϦετΛ
    ΠϯσοΫε͔ΒऔΓআ͘

    View Slide

  55. ίϛοτͷ࡟আ
    $ git reset --hard [commit]
    ࢦఆͨ͠ίϛοτ·Ͱ໭Δ
    ࢦఆίϛοτ͔Βݱࡏ·Ͱͷίϛοτ͸࢒Βͳ͍

    View Slide

  56. ίϛοτͷ࡟আ
    $ git reset --soft [commit]
    ࢦఆͨ͠ίϛοτ·Ͱ໭Δ
    ϫʔΫπϦʔͷมߋཤྺ͸࢒Δ

    View Slide

  57. ίϛοτͷଧͪফ͠
    $ git revert [commit]
    ࢦఆͨ͠ίϛοτΛଧͪফ͢ίϛοτΛ࡞੒͢Δ
    ͦͷίϛοτͰ௥Ճͨ͠෦෼Λͬͦ͝Γ࡟আ͢Δ

    View Slide

  58. ͜͜·ͰΛσϞ

    View Slide

  59. ͦͷଞͷTips

    View Slide

  60. .gitignore
    .DS_Store΍.swpͳͲͷ͍Βͳ͍ϑΝΠϧΛ
    ௥Ճ͠ͳ͍Α͏ʹͰ͖Δ

    View Slide

  61. ͜͜·ͰΛσϞ

    View Slide

  62. ࠷ޙʹ

    View Slide

  63. ·ͩ·ͩػೳ͸
    ͨ͘͞Μ͋Δ

    View Slide

  64. View Slide

  65. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide