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

git enhancement

git enhancement

#1 git-flow

Avatar for Shin Tokiwa

Shin Tokiwa

August 06, 2012
Tweet

Other Decks in Programming

Transcript

  1. What’s git-flow? • ෼ࢄ͕ͪ͠ͳϒϥϯνΛ؅ཧ • νʔϜ಺ͰϒϥϯνϞσϧΛڞ༗ • Git ͷ௕ॴΛଛͳΘͣʹ Subversion

    ͷΑ͏ͳूத؅ ཧ΋΍ͬͪΌ͏ʂ • Ͱ΋ͨͩ git ίϚϯυΛϥοϓͯ͠Δ͚ͩ 7 12೥8݄6೔݄༵೔
  2. installation of git-flow • Mac OSX • brew install git-flow

    • port install git-flow • Ubuntu • aptitude install git-flow • Windows • खॱ͕໘౗ͳͷͰׂѪ— 8 12೥8݄6೔݄༵೔
  3. git-flow branches Branch Name Description master ϦϦʔε༻ϒϥϯν develop ։ൃ༻ϒϥϯν feature/{feature

    name} ػೳ։ൃ༻Ұ࣌ϒϥϯν release/{release name} ϦϦʔε༻Ұ࣌ϒϥϯν hotfix/{hotfix name} όάमਖ਼༻Ұ࣌ϒϥϯν support/{support name} αϙʔτ༻Ұ࣌ϒϥϯν {version} λά 9 12೥8݄6೔݄༵೔
  4. “master” and “develop” • “master” • ݱࡏϦϦʔε͞Ε͍ͯΔΞϓϦέʔγϣϯͱಉ౳ • “develop” •

    ։ൃ൛ͷ࠷৽ • ೔ʑػೳ͕௥Ճ͞Ε͍ͯ͘ײ͡ • ྫ͑͹։ൃ؀ڥͰಈ࡞͍ͯ͠ΔΞϓϦέʔγϣϯ͕ ૬౰͢Δ 10 12೥8݄6೔݄༵೔
  5. “hotfix” • “master” Λݩʹ࡞੒͞ΕΔϒϥϯν • ՔಇதͷΞϓϦέʔγϣϯͰݟ͔ͭͬͨόάΛमਖ਼͢Δ ͨΊͷϒϥϯν • όάमਖ਼ணख࣌ʹ࡞੒ •

    όάमਖ਼͕ऴྃ͢Δͱ͖ʹ “master” ͱ “develop” ʹϚʔδ • Ϛʔδͱͱ΋ʹ “hotfix” ϒϥϯν͸ഁغ 12 12೥8݄6೔݄༵೔
  6. “release” • “develop” Λݩʹ࡞੒͞ΕΔϒϥϯν • ։ൃதͷ҆ఆ൛ΛϦϦʔε͢Δͱ͖ʹ࡞੒ • README ΍ϦϦʔεϊʔτΛهड़ •

    ϦϦʔελΠϛϯάͰ “master” ͱ “develop” ʹϚʔδ • Ϛʔδͱͱ΋ʹ “release” ϒϥϯν͸ഁغ 13 12೥8݄6೔݄༵೔
  7. ػೳ։ൃ͢Δ • git flow feature start 1122_retrieve_gn • ͝ʹΐ͝ʹΐ։ൃ…ςετ΋๨Εͣʹ… •

    git flow feature finish 1122_retrieve_gn • “develop” ʹػೳ͕औΓࠐ·ΕΔ 16 12೥8݄6೔݄༵೔
  8. όάΛमਖ਼͢Δ • git flow hotfix start 1234_nullpo • ͝ʹΐ͝ʹΐमਖ਼͢Δ…౰વςετ΋ʂ •

    git flow hotfix finish 1234_nullpo • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ 17 12೥8݄6೔݄༵೔
  9. όάΛमਖ਼͢Δ • git flow hotfix start 1234_nullpo • ͝ʹΐ͝ʹΐमਖ਼͢Δ…౰વςετ΋ʂ •

    git flow hotfix finish 1234_nullpo • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ ࣗಈతʹ λά෇͚΋ 17 12೥8݄6೔݄༵೔
  10. ϦϦʔε͢Δ • git flow release start 1.2.1 • ϦϦʔεϊʔτΛॻ͜͏ʂ •

    ͜Μͳػೳ͕௥Ճ͞Εͨ • ͜Μͳόά͕मਖ਼͞Εͨ • git flow release finish 1.2.1 • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ 18 12೥8݄6೔݄༵೔
  11. ϦϦʔε͢Δ • git flow release start 1.2.1 • ϦϦʔεϊʔτΛॻ͜͏ʂ •

    ͜Μͳػೳ͕௥Ճ͞Εͨ • ͜Μͳόά͕मਖ਼͞Εͨ • git flow release finish 1.2.1 • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ ࣗಈతʹ λά෇͚΋ 18 12೥8݄6೔݄༵೔
  12. refs • nvie/gitflow • https://github.com/nvie/gitflow/ • A successful Git branching

    model • http://nvie.com/posts/a-successful-git-branching-model/ • git-flow ʹΑΔϒϥϯνͷ؅ཧ • http://www.oreilly.co.jp/community/blog/2011/11/branch- model-with-git-flow.html 19 12೥8݄6೔݄༵೔