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

My life with Git

My life with Git

Gitを使ったお仕事や開発の雰囲気。
社内勉強会で喋るように作りました。で、おおよそ喋りでどうにかしたので、元々アジェンダ的な目的で作ったのを、一応スライドだけでも何か分かるようにはしてみました。

Avatar for beco-ippei

beco-ippei

April 26, 2013

Other Decks in Programming

Transcript

  1. Gitͷ͋Δੜ׆ Gitͷษڧձʹग़͚ͨͲɻɻ GitͱGithubʹ͍ͭͯ GitͱGithubͷจԽ ఍߅ײͱ͔ɻ ϓϩάϥϚͱͯ͠ͷ࢖͍ํ ඇϓϩάϥϚʹ͸ɾɾɾɻ Githubͱͷ෇͖߹͍ ΏΔΩϟϥ OSSͷ։ൃ

    Githubࣾ ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ GithubͰ΍ͬͯΔ͜ͱ GithubͰίʔυϨϏϡʔ PullRequestͱ”ShipIt!” GitLabʹ͍ͭͯ 13೥4݄26೔༵ۚ೔
  2. ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ SVNϦϙδτϦ svn checkout svn commit ௨ৗɺsvn

    checkout ͯ͠։ൃ ͯ͠ऴΘͬͨΒsvn commit ςετऴΘͬͯೲ඼Ͱ͖Δ඼࣭ʹ ͳ͔ͬͯΒcommitͰ͖Δɻ 13೥4݄26೔༵ۚ೔
  3. ϩʔΧϧͰ͸GitΛར༻ ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ SVNϦϙδτϦ git init svn checkout

    git commit svn commit git commit git commit SVNͷϦϙδτϦ͔Βchekoutͨ͠ΒϩʔΧϧ Ͱ͸GitͰ؅ཧɻ ͜·Ίʹcommitͯ͠ػೳ͝ͱʹ࡞Δ ϩʔΧϧϦϙδτϦ͚ͩͰ΋ɺे෼Gitͷ͍͍ ͱ͜ΖΛར༻Ͱ͖ͯΔɻ ϩʔΧϧͷ։ൃऴΘͬͨΒɺsvn commit 13೥4݄26೔༵ۚ೔
  4. ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ ࣮૷start branch Ͳ͏͠Α͏ʁ ॱௐ! ॱௐ! ࡞Γ͔͚ͷίʔυΛେ͖͘࡞Γସ͑Α͏

    ͱࢥͬͨΒɺbranch࡞੒ͯ͠ୀආ͢Δɻ େ͖ͳมߋ ਖ਼ղ!ར༻ େ͖͘࡞Γସ͑ͨ΋ͷ͕ਖ਼͔ͬͨ͠৔ ߹ɺbranch͸ഁغͨ͠Γ์ஔ͢Δ ☓ 13೥4݄26೔༵ۚ೔
  5. ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ ࣮૷start branch Ͳ͏͠Α͏ʁ ॱௐ! ॱௐ! ࡞Γ͔͚ͷίʔυΛେ͖͘࡞Γସ͑Α͏

    ͱࢥͬͨΒɺbranch࡞੒ͯ͠ୀආ͢Δɻ େ͖ͳมߋ ਖ਼ղ!ར༻ େ͖͘࡞Γସ͑ͨ΋ͷ͕ਖ਼͔ͬͨ͠৔ ߹ɺbranch͸ഁغͨ͠Γ์ஔ͢Δ branch Ͳ͏͠Α͏ʁ ☓ େ୾ͳมߋͳͷͰ೦ͷͨΊ branchΛ࡞੒ͯ͠࡞ۀ͢Δɻ େ୾ͳมߋ 13೥4݄26೔༵ۚ೔
  6. ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ ࣮૷start branch Ͳ͏͠Α͏ʁ ॱௐ! ॱௐ! ࡞Γ͔͚ͷίʔυΛେ͖͘࡞Γସ͑Α͏

    ͱࢥͬͨΒɺbranch࡞੒ͯ͠ୀආ͢Δɻ େ͖ͳมߋ ਖ਼ղ!ར༻ େ͖͘࡞Γସ͑ͨ΋ͷ͕ਖ਼͔ͬͨ͠৔ ߹ɺbranch͸ഁغͨ͠Γ์ஔ͢Δ branch Ͳ͏͠Α͏ʁ ☓ ਖ਼ղ! େ୾ͳมߋͳͷͰ೦ͷͨΊ branchΛ࡞੒ͯ͠࡞ۀ͢Δɻ ࠾༻ merge େ୾ͳมߋ ਖ਼ͦ͠͏ͳͷͰ࠾༻ͷͨΊmerge͢Δ ࢖͑ͳ͚Ε͹ഁغ͢Ε͹ྑ͍ 13೥4݄26೔༵ۚ೔
  7. ීஈͷ։ൃͷ༷ࢠ SVNΛؚΊͨɺ։ൃͷϑϩʔ ࡉ͔͍Commitɺͱͦͷഎܠ BranchΛࣗ༝ʹ࡞੒ ࣮૷start branch Ͳ͏͠Α͏ʁ ॱௐ! ॱௐ! ࡞Γ͔͚ͷίʔυΛେ͖͘࡞Γସ͑Α͏

    ͱࢥͬͨΒɺbranch࡞੒ͯ͠ୀආ͢Δɻ େ͖ͳมߋ ਖ਼ղ!ར༻ େ͖͘࡞Γସ͑ͨ΋ͷ͕ਖ਼͔ͬͨ͠৔ ߹ɺbranch͸ഁغͨ͠Γ์ஔ͢Δ branch Ͳ͏͠Α͏ʁ ☓ ਖ਼ղ! େ୾ͳมߋͳͷͰ೦ͷͨΊ branchΛ࡞੒ͯ͠࡞ۀ͢Δɻ ࠾༻ merge େ୾ͳมߋ ଓ͘… ਖ਼ͦ͠͏ͳͷͰ࠾༻ͷͨΊmerge͢Δ ࢖͑ͳ͚Ε͹ഁغ͢Ε͹ྑ͍ ͪΐͬͱࢼͯ͠ΈΔ࣌ʹɺطଘͷ࡞ۀͱ៉ྷʹ ෼཭Ͱ͖Δɻ Կ͔ͷཧ༝Ͱɺݱࡏͷ࡞ۀΛୀආͯ͠ੲͷঢ়ଶ ʹ໭ͯ͠࡞ۀ͢Δඞཁ͕༗Δ৔߹ʹɺ࡞ۀΛ branchʹ੾Γग़͠Մೳ ʢ৽نͷ։ൃதʹطଘͰόά͕༗ͬͨ࣌ͳͲʣ ͦͷଞɺ༻్͸ࣗ༝ͳൃ૝Ͱʂ 13೥4݄26೔༵ۚ೔
  8. GithubͰ΍ͬͯΔ͜ͱ GithubͰίʔυϨϏϡʔ PullRequestͱ”ShipIt!” GitLabʹ͍ͭͯ ࠓ·ͰͷίʔυϨϏϡʔ ʢSVNར༻ͷ৔߹ɿΠϝʔδʣ 1.ͱΓ͋͑ͣcommit 2.Reviewer͕ιʔεΛcheckout 3.ίʔυΛݟΔ 4.։ൃऀΛั·࣭͑ͯ໰ɺFeedback

    5.௚ͯ͠ɺcommit ɹ→ 2͔Β܁Γฦ͠ ͍͍ͪͪcommit or ։ൃऀ͕Reviewerࣗ੮ʹ࿈Ε͖ͯͯઆ໌ Reviewer͕։ൃऀΛࣗ੮ʹ࿈Ε͖ͯͯઆ໌ 1ରଟͰ΍Δ৔߹ɺ࣌ؒ߆ଋʗΩπΠ ෳ਺ਓͰͷϨϏϡʔ͠ʹ͍͘ 13೥4݄26೔༵ۚ೔
  9. GithubͰ΍ͬͯΔ͜ͱ GithubͰίʔυϨϏϡʔ PullRequestͱ”ShipIt!” GitLabʹ͍ͭͯ GithubͰͷίʔυϨϏϡʔ 1.BranchΛPushʙPullRequest 2.Reviewer͕PullRequestݟΔ 3.ؾʹͳΔॴʹίϝϯτͨ͠Γ 4.։ൃऀ΋޷͖ͳͱ͖ʹίϝϯτͨ͠ Γमਖ਼ͨ͠Γ͢Δ

    Review/Feedback͕ҰॹʹͰ͖Δɺ ෳ਺ਓ͕ಉ࣌ʹݟΕΔͷͰଟ෼ૣ͍ ͱ͸͍͑ɺReviewerͷΞαΠϯ͸͋Δఔ౓ ඞཁͳͷͰ୭Ͱ΋͍ͭͰ΋ɺͱ͍͏ͷ͸νʔ ϜશମͷεΩϧʹґଘ͢Δɻ ϞώΧϯ͕ଟ͍ͱɺूத๒ՐΛཋͼͨΓͯ͠ਏ ͍ࢥ͍Λ͢Δ͜ͱ΋͋Δ͔΋ɻ 13೥4݄26೔༵ۚ೔