Git講習 2014.04.15

Git講習 2014.04.15

Held at UEC

E35ded9f4d9da564ecf85ad527f11639?s=128

masawada

April 15, 2014
Tweet

Transcript

  1. Gitߨश 2014.04.15

  2. ͜Μ͹Μ͸

  3. ߨࢣ ঺հ • masawada • ৘ใཧ޻ֶ෦ ৘ใɾ௨৴޻ֶՊ 3೥
 ίϯϐϡʔλαΠΤϯείʔε •

    Θ͔Βͳ͍͜ͱ͕͋Ε͹
 tetra1984@gmail.com·ͨ͸
 @masawada (Twitter) ·Ͱ
  4. ຊ೔ͷ͓͠ͳ͕͖ • Gitͱ͸ • جຊతͳίϚϯυ / ߟ͑ํ • Gitͷத਎ΛΈͯΈΑ͏

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

  6. Gitͱ͸

  7. Gitͱ͸ όʔδϣϯ؅ཧγεςϜ (VCS)
 = มߋཤྺΛه࿥ / ؅ཧ͢Διϑτ΢ΣΞ ! ଞʹ΋Subversion΍BazzarͳͲ…

  8. ྫ͑͹ • Ϩϙʔτ΍ϓϩάϥϜΛॻ͍͍ͯͯ
 ۠੾Γͷྑ͍ͱ͜ΖͰอଘ͓͖͍ͯͨ͠ • ·ͱ΋ʹॻ͚͍ͯΔ / ಈ͍͍ͯΔঢ়ଶͷ΋ͷΛ
 อଘ͓͍ͯ͠ɺ໰୊͕ൃੜͨ͠ͱ͖ʹ
 ໭ͤΔΑ͏ʹ͍ͨ͠

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

  10. ϑΝΠϧϕʔε

  11. Excelϕʔε

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

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

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

    → มߋཤྺΛ؅ཧ͢Δඞཁ͕͋Δ
  15. جૅฤ

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

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

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

  19. ίϛοτ࡞੒ͷྲྀΕ 1. ϫʔΫπϦʔͰϑΝΠϧΛ௥Ճ/มߋ/࡟আ͢Δ 2. ͋Δఔ౓·ͱ·ͬͨΒΠϯσοΫεʹ௥Ճ͢Δ
 ΠϯσοΫεͱ͸ɺػೳ͝ͱͳͲʹ෼͚ͯίϛοτΛ
 ࡞ΔͨΊʹมߋͨ͠ϑΝΠϧΛཷΊΔ৔ॴ
 ΠϯσοΫεʹొ࿥͞Ε͍ͯͳ͍ϑΝΠϧ͸ίϛοτ͞Εͳ͍ 3. ΠϯσοΫεͷ಺༰ΛϦϙδτϦʹίϛοτ͢Δ

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

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

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

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

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

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

  26. ͜͜·ͰΛσϞ

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

  28. ͜͜·ͰΛσϞ

  29. ϒϥϯνฤ

  30. ϒϥϯνͱ͸ ࢬ

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

  32. ϒϥϯνͱ͸ • ෳ਺ͷػೳΛಉ࣌ʹฒߦͯ͠࡞੒Ͱ͖Δ • νʔϜ։ൃΛ͢Δͱ͖ʹϒϥϯνΛ࡞Δ͜ͱͰ
 ଞਓͷมߋʹ໎࿭Λ͔͚ͳ͍Α͏࡞ۀͰ͖Δ • ෆ҆ͳ࡞ۀ͸ϒϥϯνΛ࡞͔ͬͯΒߦ͏͜ͱͰ
 ϒϥϯνΛফ͚ͩ͢Ͱݩͷঢ়ଶʹ໭ΕΔ

  33. ϒϥϯνͱ͸

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

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

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

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

  38. ϒϥϯνͷ࡟আ $ git branch -d [name] $ git branch -D

    [name] merge͞Ε͍ͯͳ͍ϒϥϯν͸-DͰফ͢
  39. ͜͜·ͰΛσϞ

  40. ϒϥϯνͷڝ߹

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

    5. feature_2ϒϥϯνΛmasterϒϥϯνʹmerge
  42. ϒϥϯνͷڝ߹ master feature_1 feature_2

  43. ࣮ࡍʹσϞ

  44. ϦϞʔτϦϙδτϦ

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

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

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

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

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

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

  51. ͜͜·ͰΛσϞ

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

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

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

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

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

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

  58. ͜͜·ͰΛσϞ

  59. ͦͷଞͷTips

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

  61. ͜͜·ͰΛσϞ

  62. ࠷ޙʹ

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

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