Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git flowについてまとめてみた

3,286 views

Published on

社内向けに発表したもの

Published in: Technology

Git flowについてまとめてみた

  1. 1. 1ま と め て み た Git-flowについて
  2. 2. 自己紹介 • 古賀裕行 • 株式会社アイアンドディー • Ruby on Railsとかいろいろ 2
  3. 3. 目次 • Git-flowの考え方 • Git-flow導入 • 機能実装開始からリリースまでの流れ • ブランチの運用ルールまとめ 3
  4. 4. 4~ 5 つ の ブ ラ ン チ モ デ ル ~ Git-flowの考え方
  5. 5. Git-flowとは • ブランチの使い方を実践しやすくするツールのこと。 • ブランチ管理を一定のルールで運用 • リリースと開発ラインを分離 5
  6. 6. メインブランチ (特に重要で、なくてはならないブランチ。不老不死) • masterブランチ • developブランチ 6
  7. 7. ① masterブランチ • リリースしたソースコードを管理するためのブランチ。 • 開発者は、このブランチへのコミットは行わない。 • マージするタイミングは、リリース時のみ。 • 各バージョンの完全な状態を残すための tag を作成する。 7 ある時点までの 変更履歴につける印
  8. 8. ② developブランチ • 次のリリースのための最新の変更が常に反映されているブランチ。 • 様々なブランチで行われた変更をまとめる役割を果たす。 8
  9. 9. サポートブランチ (必要に応じて作成するブランチ ※寿命あり) • featureブランチ • releaseブランチ • hotfixブランチ 9
  10. 10. ③ featureブランチ • 主要な機能を実装するためのブランチ。 • 機能の実装やバグフィックスなど、タスクごとに featureブランチを作成し、作業を行う。 大半の作業はここでOK 10
  11. 11. ④ releaseブランチ • リリースの準備を行うためのブランチ。 • リリース前に、このブランチを作成し、微調整を行う。 • releaseブランチを作成することで、リリース準備と 次のバージョンに向けた開発のコードを分けることができる。 11
  12. 12. ⑤ hotfixブランチ • すでに公開しているバージョン(つまりmasterブランチ)で 発生したバグを修正するブランチ。 • 緊急に対応しなければならないような、致命的な脆弱性や サービスにとって致命的な不具合などを修正する。 12
  13. 13. 13コ マ ン ド ラ イ ン 、 G U I Git-flow導入方法
  14. 14. コマンドライン編 Git-flowを利用するためのコマンドは2つのみ $ apt-get install git-flow ## git-flowインストール $ git flow init ## 初期化 14
  15. 15. GUI編 代表的なGitツール • SourceTree • TortoiseGit • GitExtention 15
  16. 16. 16機 能 実 装 開 始 か ら ~ リ リ ー ス ま で リリースまでの流れ
  17. 17. 複数人で開発する場合 ①Aさんがローカル環境にブランチを作成 • $ git flow feature start hoge 17 メール配信機能 作るぞー! feature develop
  18. 18. 複数人で開発する場合 ②Aさんがリモート環境にブランチを公開 • $ git flow feature publish hoge 18 Bさんと共有し たい!
  19. 19. 複数人で開発する場合 ③Bさんがローカル環境にブランチを取得 • $ git flow feature track hoge 19
  20. 20. 複数人で開発する場合 ④Aさん、Bさんが開発を進めていく • $git commit • $git push • $git pull 20 feature develop
  21. 21. 複数人で開発する場合 ⑤機能実装完了後、Aさんがブランチを終了 $ git flow feature finish hoge developブランチにマージ後、featureブランチ消滅 21 feature develop
  22. 22. リリース作業 • ここからリリースに向けての作業開始 リリースまでの調整や軽微なバグの修正を行うreleaseブランチを作る。 $ git flow release start v3.0 22 ここで設定する名前が タグ名になります。 release develop
  23. 23. リリース作業 • 完全にリリースできる状態になったら releaseブランチを終了し、タグをつける • $ git flow release finish v3.0 23 master release develop Tag V3.0
  24. 24. 24 ブランチの運用ルールまとめ
  25. 25. ブランチ運用ルールまとめ • 基本的に開発は、featureブランチで行う。 master、developブランチでの作業はしない。 • リリース後の致命的なバグの修正は、hotfixブランチで行う。 軽微なバグについては、featureブランチで行う。 25
  26. 26. 26 おわり

×