9章 GitHubを利用した開発フロー - 32ka/hogehoge GitHub Wiki

チームでGitHubを利用するうえで意識すべきこと

すべてをシンプルに

  • 品質の高いソフトウェアを高速で開発することをサポート

GitHub Flow

流れ

  • masterブランチは常にデプロイできる状態
  • 新しい作業はmasterからブランチを作成
  • 新しく作ったブランチにcommit
  • 定期的にpush
  • Pull Request
  • 必ず他の開発者からレビューを受ける
  • masterブランチへマージしたらすぐにデプロイ

前提条件

  • デプロイ作業は完全自動化
  • テストを重要視する(自動化、テストをすべて通過、メンテナンス)

チームで実践するために

  • Pull Requestのサイズを小さくする
  • 試せる環境を用意する
  • Pull Requestへのフィードバックを多くしすぎない
  • Pull Requestをためないようにする

Git Flow

流れ

  • 新しい作業はdevelopからfeatureブランチを作成
  • Pull Requestを投げてdevelopにマージ
  • developブランチからリリースブランチを作成
  • リリースブランチをmasterにマージし、タグを打ってリリース
  • リリースしたものにバグがあればhotfixブランチで修正

ブランチの違い

  • masterブランチ
  • 常に正常にソフトウェアが動作する状態のブランチ
  • developブランチ
  • 開発用ブランチ
  • featureブランチ
  • ブランチ開発者が直接コードを変更してコミットするブランチ
  • developから作成
  • developへマージ
  • releaseブランチ
  • リリース作業をするためのブランチ
  • developから作成
  • master, developへマージ
  • hotfixブランチ
  • 緊急的に対処しなければいけない時に作成するブランチ
  • masterから作成
  • master, developへマージ