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

はじめてのGit #gitkyoto

はじめてのGit #gitkyoto

Gitのゆるめな勉強会
ワークショップ進行スライド

8c1ecc738eee0254a41c2d4b33cda7b6?s=128

Hisateru Tanaka

February 16, 2013
Tweet

Transcript

  1. ͸͡ΊͯͷGit ͨͿΜؔ੢Ͱ͍ͪ͹ΜΏΔ͍Gitೖ໳

  2. ͨͳ͔ͻͯ͞Δ @tanakahisateru Pinoco developer js-markdown-extra maintainer PHPTAL contributor Firebug translation

    contributor Yii framework user ...and more OSS experienced
  3. Կऀ͔ͱ͍͏࿩ΛΘ ͔Γ΍͍͢ͱ͜Ͱ ͸͍͜ΕͰࠓ೔஻ͬͨਓ͕୭ͩͬ ͔ͨ๨Εͳ͘ͳΓ·ͨ͠

  4. ๻͸ͦΜͳGitͷ͍͢͝ਓ͡Όͳ͍Ͱ͢ɻ GitHubͰඞཁͳ࠷௿ݶͷ஌͔ࣝ͋͠Γ·ͤΜɻ Θ͔Βͳ͍͜ͱ͸͙͢άάΓ·͢ɻ Git͸ଞਓͱ࢖ͬͯφϯϘͰ͠ΐͬͯࢥ͍·͢ɻ Θͨ͠ͱGit

  5. ਓʹGitΛڭ͑Δͱ͜͏ͳͬͨ લ৬Ͱ͸ɺσβΠφʔ(ίʔμʔ)ͷಉ྅΍ΫϥΠΞϯτʹGit Λڭ͑ͯ࢖ͬͯ΋Βͬͯ·ͨ͠ɻ σβΠφʔ͸ʮ͜Εͳ͔ͬͨΒ࢓ࣄͰ͖ͳ͍ʯͬͯதಟʹͳ Γ·ͨ͠ɻ ΫϥΠΞϯτͱͷ΍ΓͱΓ͕௒εϜʔζʹͳΓ·ͨ͠ɻ

  6. ڭ͑ͳ͖ΌଛͩΑ͜Ε

  7. ͜ͷηογϣϯͰ͸ ϗϯτͷೖ໳͔Βͪΐͬͱ͚ͩ౿ΈࠐΜͰ࢝Ί·͢ɻ Έͳ͞Μ͕৬৔ͳΓऔҾઌͳΓͰɺ෍ڭ͢ΔଆͷਓʹͳΔ͙ Β͍ͷதಟʹ͢Δͷ͕໨ඪͰ͢ɻ(ॳ৺ऀͱ͔ؔ܎ͳ͍Ͱ͢) ڭΘΒͳͯ͘΋Θ͔ͬͯΔਓ͸ɺڭ͑ํͷώϯτΛύΫͬͯ ͍ͩ͘͞ɻGit͸ଞਓͱ࢖ͬͯφϯϘͰ͢ɻ

  8. όʔδϣϯ؅ཧͬͯ? ࣮͸Έͳ͞ΜɺͨͿΜ͢Ͱʹόʔδϣϯ؅ཧΛ΍͍ͬͯΔͱ ࢥ͍·͢Αɻ ೔෇໊Λ͚ͭͯϑΥϧμΛόοΫΞοϓ͢ΔΞϨɻ

  9. None
  10. ͜ͷ΁Μ·ͩ΍Δؾ͋Δ

  11. ʮͪΐͬͱෳ਺ҊݟͤͯΑʯ ʮ͑ͬ...ʯ

  12. ʮ΍ͬͺΓલͷલͷ͕ྑ͔ͬͨʯ (΍Δؾͳ͘ͳ͖ͬͯͯΔײ)

  13. ʮ΍ͬͱϑΟοΫεҊͰ͖ͨ...όλοʯ

  14. ʮͬͦ͘͞Ͱѱ͍Μ͚ͩͲ௚͕͠...ʯ (นυϯͰ͢ΑͶ)

  15. ਺೔ޙ

  16. Ͳͷࢠ͕Ͳͷࢠ͔͠Β...?

  17. ख࡞ۀͷ᠘ ਓؒ͸αϘΔ/যΔ/ؒҧ͑Δɻ ϑΥϧμͷલޙؔ܎ʹอূ͕ͳ͍ɻ ୭͕ԿΛͨ݁͠Ռͳͷ͔Θ͔Βͳ͍ɻ ϋʔυσΟεΫʹ΄ͱΜͲಉ͡಺༰ͷϑΥϧμͰ͖ͯɺ ͍͢͝ૣ͞Ͱ༰ྔΛѹഭͯ͘͠Δɻ

  18. ͦΜͳ͋ͳͨ΋ GitΛ࢖͏ͱ

  19. ͜͏ͳΓ·͢

  20. ͞Βʹ͜͏ͳΓ·͢

  21. ೔෇ϑΥϧμͱͷ͕͍ͪ ୭͕ɺ͍ͭɺԿΛมߋͨ͠ͷ͔ཤྺʹ࢒Δɻ Ͳͷมߋ͕ͲΕΛݩʹͨ͠ͷ͔ɺॱ൪Λؒҧ͑ͳ͍ɻ ਖ਼ࣜͳ࠷৽൛͕Θ͔Δͱ͍͏େࣄ͞ɻ มߋ৘ใ͚ͩΛอଘ → ϋʔυσΟεΫΛѹഭ͠ͳ͍ɻ (ͳͷͰԕྀͳ͘όοΫΞοϓͰ͖Δ)

  22. Subversion < Git ॳ৺ऀʹ͸(ͦͯ͠ଟ෼কདྷͣͬͱ)Git͕Φεεϝɻ αʔόͷ४උ͕·ͩͰ΋࡞ۀΛ࢝ΊΒΕΔɻ FinderͰউखʹҠಈ/࡟আ/໊લมߋΛͯ͠΋յΕͳ͍ɻ มߋཤྺͷࢀর͕ͱͯ΋଎͍ɻ ϓϥάΠϯ͕ͳ͍ͷͰਓʹΑͬͯػೳͷ͕ࠩग़ͳ͍ɻ (͜Ε͸Mercurialʹର͢ΔϝϦοτ)

  23. Ͳ͏ͤGit͸ඞཁ

  24. ΈΜͳGitHub ΋ͬͱ͋ΔΑ

  25. ΍ͬͯΈΑ͏

  26. Πϯετʔϧ ࠷৽ͷXcodeΛ࢖͍ͬͯΔ ਓ͸΋͏ೖ͍ͬͯ·͢ɻ ͳ͍ਓ͸ͪ͜Β http://git-scm.com/

  27. Ͱɺ࣍͸...

  28. None
  29. ଴ͬͯɺ͜Θ͘ͳ͍͔Β

  30. ͜Ε͔Β΍Ζ͏ͱͯ͠Δ͜ͱ ʮGit͸ίϚϯυͩʯͱ͍͏͜ͱΛ஌ͬͯ΋Β͍·͢ɻ ίϚϯυΛଧͪࠐΈͳ͕Β༻ޠΛ͓΅͑·͠ΐ͏ɻ ࣦഊͯ͠΋େৎ෉ɺ໨త͸ૢ࡞͡Όͳͯ͘ཧղͰ͢ɻ ֓೦Λཧղ͔ͯ͠ΒGUI΁ɻ ͦͷͱ͖͸΋͏ɺίϚϯυ͸๨Ε͍͍ͯͯɻ

  31. < \コワクナイカラ/

  32. ͏͖͝·͔͢

  33. ࣗ෼ͷ໊લΛઃఆ͠Α͏

  34. ࡞ۀऀͷ໊લ͸ࣗݾਃࠂͰ͢ɻ Git͸ࣗ෼Ͱউखʹ࢝ΊͨΓผͷαʔόʹҾӽͨ͠ΓͰ͖ΔͷͰɺ ୭͕࡞ۀ͔ͨ͠ͱ͍͏໊લ͸αʔόͷೝূͱ͸׬શʹผͳͷͰ͢ɻ

  35. ͜ͷ࿅शͰ࢖͏ ιʔείʔυΛ...

  36. http://www.initializr.com/ ύΫΓ·͢Ͷ

  37. IEͱ͔Faviconͱ͔ΦϑͰ

  38. μ΢ϯϩʔυ&ల։

  39. ͜Ε͕ॳ൛Ͱ͢

  40. None
  41. ࡞ۀ͢ΔϑΥϧμΛ։͘ cd[εϖʔε]ͷ͋ͱɺλʔϛφϧʹ ϑΥϧμΛυϩοϓ͠·͢ɻ

  42. ͍·։͖·ͨ͠

  43. ݱࡏλʔϛφϧͰ։͍͍ͯΔϑΥϧμΛʮΧ ϨϯτσΟϨΫτϦʯͱݴ͍·͢ɻ cd ͷޙʹύεΛࢦఆ͢ΔͱɺΧϨϯτσΟϨ ΫτϦΛม͑Δ͜ͱ͕Ͱ͖·͢ɻ ΧϨϯτσΟϨΫτϦͷ֬ೝ͸ pwd Ͱ͢ɻ

  44. ϗϯτʹ߹ͬͯΔ?

  45. ͜ͷ΁Μେৎ෉Ͱ͔͢ʔ

  46. ͍Α͍ΑGitͰ͢Αʔ

  47. git init

  48. .git=ϩʔΧϧϦϙδτϦ

  49. ϦϙδτϦ=ೖΕ෺ .git ͕ফ͑ΔͱԿ΋ͳ͔ͬͨ͜ͱʹͳΔɻ શ෦΍Γ௚͍ͨ͠ͱ͖͸ rm -rf .git (͋Δ͍͸ৄ͍͠ਓʹͬͦ͜Γฉ͖·͠ΐ͏)

  50. git status

  51. Untracked files = ·ͩ؅ཧ͍ͯ͠ͳ͍ϑΝΠ ϧ͕͜Ε͚ͩ͋Δͱ͍͏͜ͱɻ git add Λ࢖͑ͱݴΘΕ͍ͯ·͢Ͷɻ

  52. git add

  53. add = ίϛοτ(͋ͱͰݴ͍·͢)͢ΔϦετʹϑΝ Πϧ௥Ճ͢Δͱ͍͏ҙຯͰ add Ͱ͢ɻ ͜ͷૢ࡞Λεςʔδͱݴ͍·͢ɻ όʔδϣϯ؅ཧͰ΋ͬͱ΋େࣄͳૢ࡞ɺίϛοτ ͷ४උͰ͢ɻ ͪΐ͏ͲɺFinderͰγϑτΩʔΛԡ͠ͳ͕ΒϑΝΠ

    ϧΛϙνϙν͢ΔΑ͏ͳ΋ͷͰ͢ɻ
  54. ͔Βͷ→ git status

  55. git status ͷ݁Ռ͕ Changes to be committed: ͱ͍͏ϦετʹͳΓ·ͨ͠ɻ ͍Α͍Α͕࣍ॳΊͯͷίϛοτͰ͢ɻ

  56. git commit -m “...”

  57. ॳճίϛοτ͓ΊͰͱ͏͍͟͝·͢ɻίϛοτ ͸όʔδϣϯ؅ཧͰ΋ͬͱ΋ॏཁͳػೳͰ͢ɻ બΜͩϑΝΠϧΛ .git ϑΥϧμͷதʹόοΫΞ οϓίϐʔͨ͠ΠϝʔδͰ͢ɻ ֤ίϛοτʹ͸ɺ࡞ۀऀͷ໊લɺίϛοτͷ೔ ࣌ɺϝοηʔδ͕ඞͣ࢒Γ·͢ɻ

  58. -m ͳ͠Ͱ git commit ͱͯ͠͠·͍ɺͳʹ͕ ى͔ͬͨ͜Θ͔Βͳ͍ਓ͸ɺۙ͘ͷৄͦ͠͏ ͳਓʹฉ͍͍ͯͩ͘͞ɻ Θ͔Δਓ͸ͦͷ··ଓ͚ɺ:wq Ͱऴྃͨ͠Β ͍͍ͱࢥ͍·͢ɻ

    Θ͔Βͳ͍ਓ͸GUIΛ࢖͏·Ͱ଴ͬͯͶɻ
  59. git status ...? → git log ...!

  60. git status ͸ nothing to commit (working directory id clean)ͱݴ͍ͬͯ·͢ɻ࠷ޙͷίϛ

    οτ͔Β·ͩมߋ͕ͳ͍ͱ͍͏ҙຯͰ͢ɻ git log ͰաڈͷίϛοτΛࢀরͰ͖·͢ɻ ίϛοτʹ 00e8ac1be367fb350... ͱ͍͏ID͕෇ ͍͍ͯΔ͜ͱ͕Θ͔Γ·͢ɻ͜ͷίϛοτͷϢ χʔΫͳ؅ཧ൪߸ͰɺΘΓͱॏཁͰ͢ɻ
  61. ৺഑ͳΒ git log --stat

  62. ΋͠ .DS_Store ͰάνάνݴΘΕΔਓ͸...

  63. .gitignore ͱ͍͏ϑΝΠϧʹ

  64. .DS_Store ͱॻ͖·͢

  65. .gitignore = git + ignore (ແࢹ) ແࢹ͢ΔϑΝΠϧ໊΍ύεͷύλʔϯΛॻ͘

  66. ͜͜·Ͱͷ·ͱΊ git init git status git add <file/folder> git commit

    -m “message” git log .gitignore
  67. Ή͔͍ͣ͠ͻͱʔ

  68. ͦ͏Ͱ͢Ͷ...

  69. ༊͠੒෼ิॆ͠ͱ͖·͢

  70. ͔͜͜Β໘ന͘ ͳΔΑɻ index.htmlʹ มߋൃੜɻ

  71. git status

  72. git diff

  73. git commit -a -m “...”

  74. git commit -a ͸มߋ͞ΕͨϑΝΠϧΛ͢΂ͯ add ͔ͯ͠Βίϛοτͱ͍͏ҙຯͰ͢ɻ git add Ͱεςʔδ͔ͯ͠Β git

    commit ͢Δ ͷͱಉ͡Ͱ͢ɻ
  75. git log

  76. ϩάͷ݁Ռ͕2ͭʹͳΓ·ͨ͠ɻ ʮιʔεΛมߋͯ֬͠ೝɾίϛοτʯΛࣗ༝ ʹ΍ͬͯΈ·͠ΐ͏ɻ

  77. ࡞ۀ͕۠੾ΕͨΒ͙͢ʹίϛοτ͠·͠ΐ ͏ɻ ࠩ෼อଘͳͷͰ༰ྔ͸৯͍·ͤΜɻԕྀͳ͘ ͲΜͲΜ΍Γ·͠ΐ͏ɻ(※ Photoshop͸ผ) ස౓ͷ໨҆͸ɺ1ߦͷϝοηʔδͰҙຯΛද ͤΔఔ౓ͷมߋηοτͰ͢ɻ

  78. ͜͜·Ͱͷ·ͱΊ git status ΍ git diff Ͱঢ়ଶΛ֬ೝͭͭ͠... มߋ → ίϛοτ

    → มߋ → ίϛοτ → ... ͜͜͸೉͘͠ͳ͍Ͱ͢Ͷɻ
  79. ͭ͗ɺͪΐͬͱ೉͍͠࿩ʹͳΓ·͢ɻ

  80. < \コワクナイカラ/

  81. HTMLͷߋ৽Λ͠ͳ͕Β ཪͰίπίπCSSΛม͍͑ͨ

  82. ϒϥϯν

  83. git branch css-coding git checkout css-coding

  84. css-coding ͱ͍͏໊લͷϒϥϯνΛ࡞Γɺϒ ϥϯνΛ੾Γସ͑·ͨ͠ɻ ׳Ε͍ͯΔਓ͸ git checkout -b css-coding Ͱɺ࡞੒ͱ੾Γସ͑Λಉ࣌ʹͰ͖·͢ɻ

  85. git branch (ύϥϝʔλͳ͠)

  86. ϒϥϯν͕2ͭ͋Δ͜ͱɺࠓͷϒϥϯν͕ css-codingͩͱ͍͏͜ͱ͕Θ͔Γ·͢ɻ master = ࠷ॳ͔Β͋ΔϝΠϯͷϒϥϯν

  87. css-coding ϒϥϯνͰɺ css/main.css Λॻ͖׵͑ɻ

  88. commit → log

  89. H1 HENKOU → CSS PINK ͱ͍͏มߋͷྲྀΕ Ͱͨ͠Ͷɻ͜ΕΛԱ͓͍͍͑ͯͯͩ͘͞ɻ (ਓʹΑͬͯ͸ҧ͏͔΋͠Ε·ͤΜ) ͜͜ͰɺCSSͷ࡞ۀΛ΍ΊͯɺHTML͚ͩม ߋ͢Δ࡞ۀͷྲྀΕʹ໭Γ·͠ΐ͏ɻ

  90. git checkout master

  91. masterϒϥϯνͰ͸ɺ࠷ޙͷίϛοτ͕·ͩ H1 HENKOU ͷ··Ͱ͢ɻͭ·Γ...

  92. ΋ͱͲ͓Γ

  93. Կࣄ΋ͳ͔ͬͨ ͔ͷΑ͏ʹ index.html Λॻ͖׵͑ͯ...

  94. commit → log

  95. H1 HENKOU → KIJI MIDASI ͱ͍͏ྲྀΕͰ ίϛοτ͕ͭͳ͕Γ·ͨ͠ɻ masterϒϥϯνͰ͸ɺCSSؔ܎ͷίϛοτ͕ ͳ͔ͬͨ͜ͱʹͳ͍ͬͯ·͢ɻ

  96. ผϑΥϧμ࡞ۀͷΠϝʔδ master css-coding

  97. branchͱ͸ git branch css-coding css-coding

  98. checkoutͱ͸ master git checkout master ࡞ۀϑΥϧμ

  99. git log --oneline --graph --all

  100. ͔ͨ͠ʹίϛοτͷཤྺ͕෼ذ͍ͯ͠·͢ɻ ϒϥϯν͸ผͷਓͱ࡞ۀ͢Δͱ͖༗ޮͰ͢ɻଞͷόʔδϣ ϯ؅ཧπʔϧͱGit͕ҧ͏ͷ͸ɺλάͳΜ͔ΑΓͣͬͱϒ ϥϯνͷ΄͏͕࢖༻ස౓ߴ͍ͱ͍͏఺Ͱ͢ɻ Ͱ΋ͪΐͬͱ೉͍͠ͷͰɺޓ͍ʹಉ࣌ʹ৮Βͳ͍Α͏੠ Λ͔͚ͳ͕ΒͻͱͭͷϒϥϯνͰ΍ͬͯ΋͍͍Ͱ͢ɻ ͨͩ͠ɺ͜ͷʮίϛοτͷ෼ذʯͱ͍͏֓೦͸ɺGitΛཧ ղͯ͠࢖͏্Ͱઈରʹ๨Εͯ͸͍͚·ͤΜɻ

  101. git merge -m “...” css-coding

  102. ͨͬͨͻͱͭͷίϚϯυͰ ผͷϒϥϯνͷ࡞ۀ͕߹ମ!

  103. mergeͱ͸ master css-coding git merge

  104. Ϛʔδ͸ɺ૬खͷϒϥϯν͔ΒมߋϑΝΠϧ ͚ͩΛऔΓग़ͯ͠ɺࣗ෼ͷϑΝΠϧΛ্ॻ͖ ͢ΔΠϝʔδɻ ΋͠ϒϥϯνؒͰಉ͡ϑΝΠϧΛมߋͯͨ͠ ΒɺͦΕΒ͕ڝ߹(ίϯϑϦΫτ)ͨ͠ঢ়ଶʹ ͳΓ·͢ɻ

  105. ͍·ίϯϑϦΫτʹ͍ͭͯઆ໌͢Δͷ͸େม ͳͷͰɺͳΔ΂͘ى͜͞ͳ͍Α͏ʹͯͩ͘͠ ͍͞ɻ GitͰίϯϑϦΫτΛղফ͢Δͷ͸ɺ SubversionΑΓͣͬͱ؆୯ͳͷͰ҆͝৺Λɻ ΋͠ىͬͨ͜Βܦݧऀʹฉ͖·͠ΐ͏ɻ

  106. ࢀߟ: ௒Θ͔Γ΍͍͢ϒϥϯνͷ࿩ http://www.slideshare.net/ kotas/git-15276118

  107. ͜͜·Ͱͷ·ͱΊ git branch ϒϥϯν໊ git checkout ϒϥϯν໊ git branch git

    log --oneline --graph --all git merge ϒϥϯν໊
  108. Ή͔͍ͣ͠ͻͱʔ

  109. ͦΖͦΖ·ͨ༊͠੒෼

  110. ͍͍ͪͪίϚϯυଧͭͷ͸ ਖ਼௚͠ΜͲ͍

  111. http://gitx.frim.nl/

  112. ͋͑ͯ΋ͬͱ΋ݹ͍GitXΛ࢖͍·͢ɻ ͜͜·Ͱͷઆ໌ʹରԠ͢Δػೳ͔͠ͳ͍ͷ Ͱɺ͘͢͝Θ͔Γ΍͍͢ɻ ίϚϯυӡ༻ͱͷ૬ੑ͕͍͍Ͱ͢ɻ ίϚϯυ͕ۤखͳਓʹ͸ɺޙͰ΋ͬͱઌͷػ ೳ͕͋ΔπʔϧΛ঺հ͠·͢ɻ

  113. log, diff, branch

  114. branch -d(࡟আ), checkout

  115. status, diff

  116. add, checkout --(มߋΛ΍ΊΔػೳ)

  117. commit + ΤσΟλ

  118. ͓·͚: λʔϛφϧ޷͖ͳΒ tig

  119. վߦίʔυͷมߋ CRLF→LF จࣈίʔυͷมߋ SJIS→UTF-8 Πϯσϯτํ਑ͷมߋ λϒ→εϖʔε ઈର్தͰ΍ͬͯ͸͍͚ͳ͍͜ͱ

  120. ͜Ε΍ΔͱɺϑΝΠϧͷ͢΂ͯͷߦ͕ॻ͖׵Θͬͨͱೝࣝ͞ Ε·͢ɻ ຊདྷͷมߋҙਤ͕Θ͔Βͳ͘ͳΓ·͢ɻ ΍ΔͳΒૣ͍ஈ֊ͰɺશιʔεͷϑΥʔϚοτΛҰؾʹมߋ ͢ΔίϛοτΛ͠·͠ΐ͏ɻ ઈର్தͰ΍ͬͯ͸͍͚ͳ͍͜ͱ

  121. < \コワクナイカラ/

  122. ͍Α͍ΑGitHub΁

  123. https://github.com/

  124. ·ͩͷਓ͸αΠϯΞοϓ

  125. Welcome to social coding.

  126. ެ։伴Λొ࿥ ެ։伴ೝূͱSSHͷઆ໌͸ল͖·͢ɻ ͣ͹Γɺ~/.ssh ͋Γ·͔͢? open ~/.ssh id_rsa.pub ͕͋Ε͹OKɺͦΕΛ࢖͍·͢ɻ ͳ͍ਓ͸͜ΕͰ࡞Γ·͢: ssh-keygen

    -t rsa -C "your_email@youremail.com" ͢Ͱʹ͍࣋ͬͯΔਓ͸ྡͷਓΛख఻ͬͯ͋͛·͠ΐ͏ɻ
  127. ͜͜ʹৄ͘͠ग़͍ͯ·͢: https://help.github.com/articles/ generating-ssh-keys

  128. id_rsa.pub Ͱ͖ͨΒ... Ͱɺid_rsa.pubͷ಺༰Λ·Δ͝ͱίϐϖ͠·͠ΐ͏ɻ

  129. ϦϙδτϦΛ࡞Ζ͏ ͜͜

  130. Ͱ͖ͨ

  131. ͸͡Ίͯͷpush

  132. ⌘+R

  133. git push origin master ͸originͷϦϞʔτϦ ϙδτϦʹmasterϒϥϯνΛΞοϓϩʔυ͢ ΔΠϝʔδͰ͢ɻ -u Φϓγϣϯ͸ɺҎ߱masterϒϥϯνͰ git

    push ͚ͩͨ͠ͱ͖ɺσϑΥϧτͰoriginʹ push͢ΔΑ͏ʹͳΔͱ͍͏ඥ෇͚ɻ
  134. push push

  135. ͱ͜ΖͰ͜ͷEditͬͯ?

  136. ฤूͰ͖ͪΌ͏!

  137. ϝοηʔδ+ίϛοτ

  138. git pull

  139. git pull ͸ϦϞʔτͷϦϙδτϦ͔ΒϩʔΧϧ ʹμ΢ϯϩʔυ͢ΔΠϝʔδɻ ͋ɺGitHubͷαΠτͰฤू͢Δͱɺಈ࡞֬ೝ Ͱ͖ͯͳ͍ιʔεͰίϛοτΛੵΉ͜ͱʹͳ ΔͷͰɺී௨͸μϝͰ͢Αɻ

  140. pull pull

  141. ϦϞʔτ͔Βpull͢Δ=μ΢ϯϩʔυͨ͠΋ͷΛແ໊ϒϥϯνͱ Έͳͯ͠ɺϚʔδ→ίϛοτΛ΍͍ͬͯΔɻ μ΢ϯϩʔυͯ͠Ϛʔδ͠ͳ͍pullΛfetchͱݴ͏ɻ pull = fetch + merge ͱʹ͔͘ɺ͍͖ͳΓϩʔΧϧͥΜͿ্ॻ͖Ͱ͸ͳ͍ɻ FTPͰམͱ͖ͯͨ͠ϑΝΠϧΛ͍͖ͳΓ্ॻ͖ͯ͠ࠔͬͨ͜ͱ...

    ͋Γ·͢ΑͶɻ pullͷ஫ҙ఺
  142. ϦϞʔτͷ࠷৽ΑΓݹ͍ঢ়گʹੵΜͩίϛοτΛpush͢Δͷ ͸ېࢭ͞Ε·͢ɻ ͳͷͰɺ·ͣϩʔΧϧʹpull͔ͯ͠Βɺ࡞ۀ→ίϛοτ →pushͷॱংΛकΓ·͠ΐ͏ɻ ଞͷਓ্͕͛ͨαʔόͷ࠷৽Λݹ͍ϑΝΠϧͰFTP্ॻ͖͠ ͯࠔͬͨ͜ͱ...͋Γ·͢ΑͶɻ pushͷ஫ҙ఺

  143. ΍΍͍͜͠ͷͰɺͱΓ͋͑ͣWeb੍࡞ͷݴ༿Ͱ͍͏ͱɺαʔ ό΁ͷΞοϓϩʔυͱαʔό͔Βͷμ΢ϯϩʔυͰOKͰ͢ɻ ͨͩɺಥવͷ্ॻ͖Ͱେࣦഊ͠ͳ͍૷ஔ͕෇͍ͯΔͱ͍͏͜ ͱ͚ͩཧղ͍ͯͩ͘͠͞ɻ GitͰΤϥʔʹͳΔͱ͍͏ͱ͖͸ɺ΋ͦ͜͠Ͱࣦഊ͕ى͖ͳ͔ ͬͨΒɺ΋ͬͱͻͲ͍͜ͱ͕ى͍ͬͯͨ͜ɺͱ͍͏ՄೳੑΛ ๷͍Ͱ͘Ε͍ͯΔͱࢥ͍·͠ΐ͏ɻ Ή͔͍ͣ͠ͻͱʔ

  144. ͱ͜ΖͰ͖ͬ͞ɺoriginʹʮmasterΛʯpush ͨ͠ͱݴ͍·ͨ͠ɻ

  145. ͭ·Γ...GitHubʹ͸·ͩ css-coding ϒϥϯν ͕ͳ͍!!

  146. git push origin css-coding

  147. ϒϥϯν΋pushͰ͖ͨ

  148. pushͱpull͸ϒϥϯν͝ͱʹݸผͰ͢ɻ ͲΕΛpush/pull͢Δ͔Λҙࣝ͠·͠ΐ͏ɻ ݸผ͔ͩΒͱ͍ͬͯ༰ྔ͕ഒʹͳΔΘ͚Ͱ͸͋Γ·ͤ Μɻফඅ͢Δͷ͸ࠩ෼ͷྔ͚ͩͰ͢ɻ

  149. ϩʔΧϧͷ࡞ۀσΟϨΫτϦΛ࡟আͯ͠΋ฏؾɻ ͜ΕͰαʔόʹશ෦͋ΔͷͰ

  150. GitHubͷ͔͜͜Β

  151. git clone ...

  152. ·͋ɺclone ͢Δͷ͸͍͍ͩͨଞਓͰ͢ɻ ్த͔Β࡞ۀʹࢀՃ͢Δਓ͸ɺgit init Ͱ͸ͳ ͘͜ͷ git clone ͔Βελʔτ͠·͢ɻ ͋ͱͰଞͷਓͱڞಉ࡞ۀͷ࿅श͠·͠ΐ͏ɻ

  153. ෮ݩͰ͖·ͨ͠

  154. ͍΍ʙΑ͔ͬͨΑ͔ͬ...

  155. ͓΍? img

  156. ஫: ۭϑΥϧμ͸μϝ Git͸ۭͷϑΥϧμΛ؅ཧͰ͖·ͤΜɻ͋͘·ͰϑΝΠϧͷมߋ ͷ؅ཧͳͷͰɻ ۭͬΆͷϑΥϧμΛҡ͍࣋ͨ͠৔߹ɺதʹԿ͔μϛʔͷϑΝΠ ϧΛೖΕ͍ͯͩ͘͞ɻ μϛʔϑΝΠϧ໊͸ empty, .gitkeep, .gitignore,

    .htaccess ͳͲ͍ Ζ͍Ζͳश׳͕͋Γ·͢ɻ ͋·Γ৺഑͠ͳͯ͘΋࣮֐͕͋Δ͜ͱ͸·ΕͰ͢ɻ
  157. ͪͳΈʹmasterҎ֎ͷϦϞʔτϒϥϯνΛ ϩʔΧϧʹ࿈Εͯ͘ΔͳΒ... git branch css-coding origin/css-coding

  158. ͜͜·Ͱͷ·ͱΊ git remote add ϦϙδτϦ໊ ΞυϨε git push -u ϦϙδτϦ໊

    ϒϥϯν໊ git push (஫:ϒϥϯν͝ͱ) git pull git clone ΞυϨε ۭͷϑΥϧμ͸ແࢹ͞ΕΔ git branch ϒϥϯν໊ origin/ϒϥϯν໊
  159. ༊͠(ry

  160. ͓଴ͨͤ͠·ͨ͠ GUIͰ͢Α

  161. http://rowanj.github.com/gitx/

  162. GitXͷ͍͢͝൛

  163. clone

  164. remote/fetch/pull/push

  165. ͜Μͳ͜ͱ·Ͱ git branch css-... origin/css-...

  166. GitX͸gitίϚϯυʹ஧࣮ͳUIͳͷͰɺίϚϯ υͰཧղͨ͠ਓ͕࢖͍΍͍͢Ͱ͢ɻ ͜ͷUIࣗମ͕ʮGitͰͰ͖Δ͜ͱू(؆қ൛)ʯ ͋Γ͕ͪͳૢ࡞͕ͻͱͱ͓Γ͋ΔͷͰɺ͞Β ʹษڧ͢ΔϙΠϯτ͕ݟ͖͑ͯ·͢ɻ

  167. ·ͩ͜Ε͡Ό࢖͍ʹ͍͘ ͱࢥͬͨΒɺϝΠϯͰ࢖ ͏πʔϧ͸΋ͬͱࣗ෼ʹ ߹͏ͷΛબͼ·͠ΐ͏ɻ

  168. ͜ΕͰΑ͏΍͘ ελʔτϥΠϯ

  169. Ή͔͍ͣ͠ͻͱʔ

  170. gitͷίϚϯυ Ή͔͍ͣ͠ͷ͸ʙ

  171. None
  172. gitͷίϚϯυମܥ͸ʮ࢖͏ਓͷؾ࣋ͪʯͰ͸ ͳ͘ʮ಺෦ઃܭͷࣄ৘ʯͰͰ͖͍ͯ·͢ɻ ࡞ͬͨਓͷؾ࣋ͪʹͳͬͨΒཧղͰ͖Δͱ͔ ແཧήʔɻ ͳͷͰ...

  173. ࡉ͔͍ૢ࡞ํ๏͸๨Εͯ΋͔·͍·ͤΜɻ ༻ޠͱ֓೦ͱ࢓૊ΈͷجຊΛ๨Εͳ͍͜ͱ͕ॏཁͰ͢ɻ ཧղͯ͠͠·͑͹ɺGUIΛ࢖ͬͨ΄͏͕ޮ཰తͰ͢ɻ ίϚϯυΛ஌ΔͱɺGUIͷઆ໌ςΩετ͕ίϚϯυΦϓγϣ ϯͷԿΛࢦ͢ͷ͔ɺ૝૾Ͱ͖ΔΑ͏ʹͳΓ·͢ɻ ͔ͩΒͦ͜

  174. ͨͩ͠... ຊ౰ʹࠔͬͨͱ͖͸άάͬͯίϚϯυΛίϐϖͰ͖ΔΑ͏ʹ ͠ͱ͖·͠ΐ͏ɻ GUIͷૢ࡞खॱ͸ٕज़ϒϩάʹॻ͔Εʹ͍͘ɻ git͸άάΕΔ! ←͜͜ॏཁ

  175. ͓ർΕ༷Ͱͨ͠