LoginSignup
34
31

More than 5 years have passed since last update.

Github Flowを使い始めるときのまとめ

Last updated at Posted at 2014-05-15

Github Flow とは

複数人で開発するときに、github上のリポジトリをどう運用するかをまとめたもの

Github Flow 運用ルール

masterブランチのものはデプロイ可能である

  • 全ての作業はmasterブランチにマージする
  • (git-flowではdevelopブランチを利用するが、Github Flowではより簡単にしている)
  • マージするブランチはテスト、レビューされ、masterブランチは常に安定して動作するように保つ

masterブランチから各種作業を行うブランチを作成する

  • 全てのブランチはmasterブランチから作成する
  • (git-flowではfeatureブランチとreleaseブランチはdevelopブランチから、hotfixブランチはmasterブランチから作成する)
  • ブランチの名前は、一目見てその作業が分かるような名前を付ける

ブランチを定期的にプッシュする

  • 作業用のブランチは定期的にプッシュして、他の担当者に作業状況を共有する
  • 不意の端末の故障からソースコードを守る
  • (git-flowでは、ブランチでの作業をローカルで行いdevelopブランチやmasterブランチへマージした後、共有リポジトリへプッシュする)

プルリクエストを利用してレビューを行う

  • Githubのプルリクエストの機能を利用してレビューを行なってから、masterブランチにマージする

マージされたプルリクエストを直ちにデプロイする

  • マージされたmasterブランチのコードはすぐにデプロイする
  • 早期にデプロイし動作確認を行うことで、バグを早期に発見、修正する
  • 本番環境にいきなりデプロイするのがためらわれる場合、ステージング環境にデプロイして動作確認を行う

Git Flowの流れ

作業用のブランチ作成

  • masterブランチから作業用のブランチを作成
  • git checkout -b new-festで作成と切り替えを同時に行う
$ git checkout -b new-feat
$ git branch

ブランチのプッシュ

  • ブランチをリモートリポジトリへプッシュ
  • 他の開発者と作業内容を共有
$ git push origin new-feat

プルリクエスト

  • ブランチでの作業が完了したら、プルリクエストを作成
  • 作業ブランチを元のブランチへマージする依頼を送信

  • GithubのWebサイト

  • Pull Requests -> New pull request -> Create Pull Request

レビュー

  • レビュアーはプルリクエストをレビュー
  • レビューコメントを追加

修正

  • レビュアーのコメントを受けて、修正した変更をプッシュ
  • プルリクエストに反映

masterブランチにマージ

  • レビュアーから承認を受けたら、作業ブランチをmasterブランチにマージ
$ git checkout master
$ git merge --no-ff new-feat

作業ブランチの確認

$ git branch -r

作業ブランチの作成

$ git branch new-feat

作業ブランチの切り替え

$ git checkout new-feat

作業ブランチの削除

$ git branch -d new-feat

参考

Gitチュートリアル | Atlassian
プルリクエスト/レビューを取り込んだ、よりシンプルなGitHub Flowの運用を図解する (1/2) | @IT
Github-flowを分かりやすく図解してみた | pyar.bz
Github Flow (Japanese translation) | GithubGist

34
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
31