ゼロからわかるgit-flow

22,277 views

Published on

Published in: Technology
0 Comments
61 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
22,277
On SlideShare
0
From Embeds
0
Number of Embeds
5,877
Actions
Shares
0
Downloads
91
Comments
0
Likes
61
Embeds 0
No embeds

No notes for slide

ゼロからわかるgit-flow

  1. 1. ゼロからわかる git-flow @monochromegane http://thinking-megane.blogspot.jp/
  2. 2. アジェンダ• git-flowとは• Git、長所、短所• サクセスフルな開発モデル• 補助ツール• git-flowとは
  3. 3. git-flowとは
  4. 4. Gitをいい感じに活用する開発モデルを補助するプラグイン
  5. 5.
  6. 6. 1.Gitをいい感じに活用する開発モデルを補助するプラグイン
  7. 7. 2.Gitをいい感じに活用する開発モデルを補助するプラグイン
  8. 8. Gitをいい感じに活用する開発モデルを補助するプラグイン 3.
  9. 9. 1. Gitを
  10. 10. Gitとは• 分散型バージョン管理システムリポジトリは各PCに存在。それぞれが互いに連携可能。ブランチの作成、マージが容易。ローカル操作のため操作が高速。
  11. 11. Gitとは リポジトリ リポジトリブランチ Push > ブランチ < Pull
  12. 12. リポジトリの分散リポジトリ リポジトリリポジトリ リポジトリ
  13. 13. 無理!
  14. 14. 共有リポジトリで 解決
  15. 15. リポジトリの共有リポジトリ リポジトリ 共有 リポジトリリポジトリ リポジトリ
  16. 16. ブランチの混沌• ブランチの分岐元、マージ先が 統一されていない• 開発者が勝手に生成するブラン チで共有リポジトリが汚れてし まう• リリースまでのルールが決まっ ていない etc…
  17. 17. 無理!
  18. 18. ブランチの運用ルール で解決
  19. 19. 2. Gitをいい感じに活用 する開発モデル
  20. 20. A successful Gitbranching model
  21. 21. Gitをいい感じに活用する開発モデルA successful Git branchingmodelhttp://nvie.com/posts/a-successful-git-branching-model/日本語訳http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html
  22. 22. 分散、しかし中央集権
  23. 23. 1. 開発者は中央と なるoriginから push, pullを行 う。2. 必要に応じ、各 開発者間で資産 のやり取りを行 う
  24. 24. 利点• ブランチの分散で説明したとおりです。• 常に最新をpush, pullできるリポジトリ があることが重要です
  25. 25. メインブランチ
  26. 26. 1. 中央リポジトリ は、masterと developの2つの リポジトリ2. origin/master 出荷可能な状態 を常に保持3. origin/develop 最新の開発の結 果を常に保持
  27. 27. 利点• 最新の開発資産の管理と最新のリリー ス資産の管理が分かれていることが重 要です。• 開発者は最新の開発資産を取得しなが らも、リリース環境に不具合が生じた 場合にもorigin/masterのタグをもとに環 境を取得できます。
  28. 28. サポートブランチ
  29. 29. サポートブランチ= 開発者が利用するブランチ • フィーチャー • リリース • ホットフィックス
  30. 30. フィーチャー ブランチ
  31. 31. 1. 新しい機能を開 発するのに使わ れるブランチ1. developから分岐 し、developに マージされる
  32. 32. 利点• 機能が確定するまでdevelopブランチを 汚さないで開発できることが重要です。• 開発者ごとのローカルリポジトリでブ ランチを作成できるので、開発フェー ズでのブランチ管理を開発者に任せる にできます。
  33. 33. リリースブランチ
  34. 34. 1. リリース準備を 行うのに使われ るブランチ1. developから分岐 し、masterと developにマージ される
  35. 35. 利点• 開発とリリースの時差を管理すること が重要です。• 機能開発が確定したところでリリース ブランチを分岐することでdevelopブラ ンチは次のリリースに向けた開発を進 めることができます。
  36. 36. ホットフィックス ブランチ
  37. 37. 1. リリース後に発 生した不具合を 修正するための ブランチ1. masterから分岐 し、masterと developにマージ される
  38. 38. 利点• developブランチとmasterブランチの時 差を考慮した上で即座に不具合に対応 できることが重要です。• masterブランチから分岐させるため、 他の開発者がdevelopで開発を進めてい てもリリース環境と同様の環境で対応 が可能です。
  39. 39. 運用に対する不安
  40. 40. いい感じのルールだけど、開発者が内容を把握して正しいブランチ運用ができるのだろう か?
  41. 41. 3. 補助するプラグイン
  42. 42. git-flow ! ここまで長かった!
  43. 43. git-flow以下の操作をコマンド一発で実施できるようになります。• “A successful Git branching model”に基 づいたブランチ構成の作成• サポートブランチの開始と終了
  44. 44. ブランチ構成の作成ブランチの初期化# git flow init
  45. 45. サポートブランチの開始と終了フィーチャー# git flow feature [start|finish] XXXリリース# git flow release [start|finish] XXXホットフィックス# git flow hotfix [start|finish] XXX
  46. 46. git-flowとは
  47. 47. Gitをいい感じに活用する開発モデルを補助するプラグイン
  48. 48. おしまい @monochromegane

×