広島フロントエンド勉強会 Vol.15 ヒロフロ & AUG広島Git勉強会で発表したスライド
pullcommitmergecheckoutbranchstashpushadddiffstatuslogresetrevertrebase rmstash commitdiffmergelogaddcheckoutpullpushcommitώϩϑϩ & AUGౡGitษڧձʰweb੍࡞ʹ͓͚ΔGitϑϩʔʱ
View Slide
Ҫ্ • ϑϩϯτΤϯυΤϯδχΞ• 19916݄6ੜ·Εͷ26ࡀ• ່͔Θ͍͍• CSS Nite in HIROSHIMA ࣮ߦһձ෭ҕһ• ϑϩϯτΤϯυษڧձ ओ࠵• [CodeCode](https://codecodeweb.com/)ࣗݾհ
ࣗݾհ݄ Ր ਫ ۚ ன ˕ ˕ ˕ ˕ ˕ ˕൩ ˕ ˕ ˕
ώϩϑϩ & ଂʰोͳ͠୲ʑ໙͓͢͢Ίͷ৯ํʱ
͓͢͢Ίʰމຑ̎ਏ + Թۄ + ωΪՃʱ
ҙ• Git-flowࠓճऔΓѻΘͳ͍• ͕ࣗ։ൃ͢Δͱ͖ͷख๏Λհ͠·͢
ର• Gitॳ৺ऀ• GitͬͯΔ͚Ͳɺ͏·͑ͯ͘Δ͔Θ͔Βͳ͍• Α͘ίϯϑϦΫτىͯ͜͠ɺݱΛࠞಱʹؕΕΔਓ
Α͋͘Δϑϩʔ
masterͰ࡞ۀ
masterͱ• GitཧΛ͡Ίͨ࣌ʹ੍࡞͞ΕΔ࠷ॳͷϒϥϯν• ओʹϦϦʔε͞ΕΔίʔυͱಉ͡ίʔυ͕͍Δ• pushͰ͖ͳ͍Α͏ʹͨ͠ΓɺͦͦϩʔΧϧʹ࣋ͨͳ͍Α͏ʹͨ͠Γ͞ΕΔ߹
masterͰ࡞ۀ• ϦϦʔε͞ΕΔίʔυʹόά͕ࠞ͡ΔՄೳੑ͕͋Δ• ࡞ۀ͕શʹऴΘ͍ͬͯͳ͍ͱϦϦʔεͰ͖ͳ͍• ઌߦ։ൃ͕Ͱ͖ͳ͍• ίϯϑϦΫτ͕ൃੜ͍͢͠
masterΠϕϯτϖʔδ࡞ʑͷߋ৽ΠϕϯτऴྃใࠂΠϕϯτΞʔΧΠϒϖʔδެ։Πϕϯτऴྃ
master࡞ۀ͕࣌ؒΓͳ͍ʂʂࠓதʹΑΖ͘͠masterΠϕϯτϖʔδ࡞ʑͷߋ৽ΠϕϯτऴྃใࠂΠϕϯτΞʔΧΠϒϖʔδެ։Πϕϯτऴྃ
ରࡦ
ରࡦ1 ؾ߹͍Ͱ͕ΜΔ• ΠϕϯτऴྃపͰ࡞ۀݱ࣮త͡Όͳ͍
ରࡦ2 ίϐʔϖʔδΛ࡞Δ• ϖʔδΛίϐʔͯ͠࡞͓ͬͯ͘ʑͷߋ৽͕ϞϨͦ͏
ϒϥϯνͷ׆༻
ϒϥϯνͱ• ։ൃͷຊྲྀ͔Βذ͠ɺຊྲྀͷ։ൃΛअຐ͢Δ͜ͱͳ͘࡞ۀΛଓ͚Δػೳͷ͜ͱ• Git ͷϒϥϯνϞσϧɺGit ͷػೳͷதͰͬͱ͢Β͍͠ͷͩͱ͍͏ਓ͍Δ΄Ͳ• ؆୯ʹ͍͏ͱผͷੈքઢΛͭ͘Δ
ϒϥϯνͷ׆༻• ฏߦ࡞ۀ༻ʹϒϥϯνΛͭ͘Δ• masterͰʑͷߋ৽Λͭͭ͠ɺdevͰऴྃ࡞ۀ$ git branch dev$ git checkout dev
ϒϥϯνͷ׆༻• devͰͷ࡞ۀྃޙmastermerge͢Δ$ git checkout master$ git merge dev
Ϛʔδͱ• ։ൃͷຊྲྀ͔Βذͨ͠ࢧྲྀΛຊྲྀʹ߹ྲྀͤ͞Δ͜ͱ• มߋΛՃ͑ͨϒϥϯνΛɺݩͷϒϥϯνʹϚʔδ͢Δ͜ͱʹΑͬͯɺमਖ਼Λྲྀ͠ࠐΉ• ຊྲྀͱࢧྲྀͰಉ͡ՕॴΛมߋ͍ͯͨ͠߹ɺίϯϑϦΫτ͕͓͖Δ• ຊྲྀɺࢧྲྀͲͪΒ͔Λ࠾༻͢Δ͔खಈͰϚʔδ͢Δ
masterΠϕϯτϖʔδ࡞Πϕϯτऴྃ
masterΠϕϯτϖʔδ࡞Πϕϯτऴྃใࠂdevgit checkout -b devΠϕϯτऴྃ
masterΠϕϯτϖʔδ࡞ʑͷߋ৽ΠϕϯτऴྃใࠂΠϕϯτΞʔΧΠϒϖʔδdevgit checkout -b devΠϕϯτऴྃ
masterΠϕϯτϖʔδ࡞ʑͷߋ৽Πϕϯτऴྃใࠂdevgit checkout -b devgit merge devΠϕϯτΞʔΧΠϒϖʔδΠϕϯτऴྃ
ϒϥϯνΛ͏ͱ• ઌߦ։ൃ͕͍͢͠• ෳਓ࡞ۀ͕͍͢͠• ࣌ؒॖ͕Մೳ• ࣮ݧͰࣦഊͯ͠ϒϥϯνΛফͤݩͲ͓Γ
ن͕େ͖͘ͳΔͱ• masterϦϦʔεͷΈ͏• devͱผʹfeatureϒϥϯνΛͭ͘Δ• feature࣮༧ఆͷ։ൃʹ͏ dev͔Βذͯ͠ɺdevʹϚʔδ͢Δ
Issueͷ׆༻
Issueͱ• GitHubBitbucketͳͲʹ͋ΔΛొ͢ΔϦετ• όάࠓޙ։ൃ༧ఆͷͷΛొ͢Δ
GithubɺBitbucketͱ• ϦϞʔτϦϙδτϦͷϗεςΟϯάαʔϏε• ؆୯ʹ͍͏ͱෳਓͰ࡞ۀ͢Δࡍʹ֤ʑͷมߋ͕ू͞ΕΔॴ
Issueͷॻ͖ํ• 1ͭͷIssueʹ1ͭͷ(όά)• λΠτϧ͚ͩͰIssueͷ༰͕ѲͰ͖ΔΑ͏ʹ• ίϝϯτʹ࣮ߦڥɾ࠶ݱखॱɾਖ਼͍͠ڍಈ(Θ͔Ε)Λॻ͘
masterΠϕϯτϖʔδ࡞Πϕϯτऴྃʑͷߋ৽ΠϕϯτऴྃใࠂΠϕϯτΞʔΧΠϒϖʔδެ։devgit checkout -b devgit merge dev
masterΠϕϯτऴྃߋ৽ΠϕϯτऴྃใࠂΠϕϯτΞʔΧΠϒϖʔδެ։devgit checkout -b devgit merge dev#5git checkout -b #5git merge devόάमਖ਼
IsuueΛ͏ͱ• ToDoϦετ͕Ͱ͖Δ• ొ͢Δͱϝʔϧ͕ಧ͘ͷͰ֬ೝϞϨɾमਖ਼ϞϨ͕͘͢ͳ͍• εϨουͰΓͱΓͰ͖ΔͷͰޮత• ϥϕϧΛ׆༻͢Δͱͬͱޮత• ͬͱن͕େ͖͘ͳΔ߹Git FlowΛࢀߟʹ
ϓϧϦΫΤετ
ϓϧϦΫΤετͱ• ίʔυͷมߋΛϨϏϡϫʔʹ௨͠ɺϚʔδΛґཔ͢Δػೳ• ίʔυϨϏϡʔΛड͚Δ͜ͱͰɺόάͷൃݟͳͲίʔυͷ࣭͕อͨΕΔ$ git push origin #5
ϓϧϦΫΤετͷॻ͖ํ• λΠτϧ͚ͩͰϓϧϦΫΤετͷ༰͕ѲͰ͖ΔΑ͏ʹ• ίϝϯτʹมߋΛ؆ܿʹॻ͘• ͳΔ͘͜·Ίʹɺ1ཁ݅͝ͱ͕·͍͠
ϓϧϦΫΤετΛ͏ͱ• ͜ͷఔΛ܁Γฦ͢͜ͱͰɺίʔυͷ࣭͕อͨΕΔ• ίʔυϨϏϡʔ͢Δ͜ͱͰɺษڧʹͳΔ
·ͱΊ
·ͱΊ• masterͰͷ࡞ۀΊ·͠ΐ͏• ϒϥϯνΛͬͯ࡞ۀΛޮԽͤ͞·͠ΐ͏• IsuueΛͬͯϞϨͳ͘मਖ਼͠·͠ΐ͏• ϓϧϦΫΤετͰίʔυϨϏϡʔ͠·͠ΐ͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠