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

git-daily: A tool supports a daily workflow with remote

git-daily: A tool supports a daily workflow with remote

Python Developers Festa 2011.10.

Sotaro Karasawa

October 15, 2011
Tweet

More Decks by Sotaro Karasawa

Other Decks in Technology

Transcript

  1. $ git flow feature finish hoge $ git checkout develop

    $ git merge --no-ff feature/hoge $ git branch -d fearture/hoge
  2. $ git flow release finish hoge $ git checkout master

    $ git merge --no-ff release/1.0 $ git tag -a 1.0 $ git checkout develop $ git merge --no-ff release/1.0 $ git branch -d release/1.0
  3. gitflow: - ϥΠϒϥϦ(ͷΑ͏ͳ΋ͷ) ͷ։ൃʹ޲͍͍ͯΔ - release ࣌ɺtag ͕͚ͭΒΕΔ - remote

    ͱͷ࿈ܞ࡞ۀ͸΄΅ߟྀ͞Ε͍ͯͳ͍ Web ։ൃ Y gitflow = ϕετ?
  4. git-daily: - gitflow ͷ branching model Λ࠾༻ - ස౓ͷߴ͍ϦϦʔε/೔ʑͷϦϦʔε -

    tag ͱ͔੾Βͳ͍ - remote ͱͷ࿈ܞ - push/pull - remote branch ࡞੒/࡟আͷࣗಈԽ - release “sync”
  5. git daily init - master, develop ϒϥϯν໊ͷܾఆ - ඪ४Ͱར༻͢Δ remote

    ໊Λܾఆ - default: origin - ઃఆ͸ .git/config ʹ gitdaily ηΫγϣϯͰอଘ
  6. git daily release sync - remote ͱ sync - remote

    ʹ open ͞Εͨ release branch ͕͋Γɺࣗ෼ ͷखݩʹແ͍৔߹ → औಘ͖ͯͯ͠ checkout - खݩʹ͋Δ → push / pull ͢Δ - remote ͷ release branch ͕ফ͑ͯͯखݩʹ͋Δ → खݩͷ΍ͭ࡟আ
  7. git daily release close - ϦϦʔεϒϥϯνΛ master ʹ merge -

    master ϒϥϯνͷ push - ϦϦʔεϒϥϯνΛ develop ʹ merge - ͪΌΜͱ pull ͔ͯ͠Β merge - develop ϒϥϯνͷ push - remote ͷϦϦʔεϒϥϯν࡟আ - local ͔Β΋࡟আ
  8. Git ͷ Wrapperπʔϧ: - Git͸ࣗ༝͗͢Δ - ձࣾͰ࢖͏ͳΒͦͷձࣾͰͷ։ൃελΠϧʹ͋Θ ͤͨ Wrapper πʔϧ͸ඞཁ

    - gitflow Λ͔ͭ͏΋Α͠ɺgit-dailyΛ͔ͭ͏΋Α ͠ɺࣗ࡞͢Δ΋Α͠ - git-xxxx ͱ͍͏࣮ߦϑΝΠϧΛ $PATH ʹஔ͚͹ git ͷαϒίϚϯυ࡞Ε·͢
  9. Wrapperπʔϧͷ໰୊఺: - Gitͷʮੜͷૢ࡞ʯ͕Ӆṭ͞ΕΔ - ໰୊͕ൃੜͨ͠ͱ͖ͷղܾํ๏ - CONFLICT - ͦ͏͸ݴͬͯ΋ Git

    ͷ஌ࣝ͸΋ͪΖΜɺඞཁ - Կ͔͋ͬͨͱ͖ʹͲ͔͜Β࢝ΊΕ͹ྑ͍ͷ? - gitflow ͷ৔߹: - CONFLICT Λղফͨ͠Β·ͨ git flow release finish hoge Λଧͯ͹ྑ͍ (ຊ౰?)
  10. git-daily: - ࣮͸ release ͔͠ରԠͯ͠ͳ͍ (͒ - hotfix ͸࣍ͷόʔδϣϯͰ -

    feature ΋ͦͷ͏ͪ - ਖ਼௚ feature ͸͋Μ·΍Δ͜ͱͳ͍͔Β gitflow Ͱ΋͍͍Ͱ͢ - ซ༻ՄೳͰ͢ - ·͋࡞Δ͚Ͳ - test ॻ͍ͯΔ