GitHubを始める為に - その8.Branch運用法 GitHub-flow

2020年7月17日金曜日

Git

t f B! P L

GitHub Flow – Scott Chacon

GitHub基礎を学ぶ為に始めたこの「GitHubを始める為に」ですが、今回で一旦終わります。今まで学んできたことを並べていくと、一通りの基礎的なことは網羅できたはずです。


あと学び足りていないところは、実際にGitを使用していく経験と今回お伝えするGitのBranch運用方法かと思っています。

もちろん、チーム開発時を想定するとpull requestやissueも学びたいところですが、それはまた機会を伺って紹介したいと思います。

では、Branch運用の紹介です。


Branch運用に使用するコマンド

まず、 Trygitの最後の方で出てきたBranch操作を思い出しましょう。忘れていたらもう一度Trygitをやってみるのも良いかもしれません。

1.18 Branching Outgit branch clean_upを打つページからbranch操作が始まります。

ここでは以下の流れで作業をしています。


  1. clean_upブランチの作成
  2. clean_upブランチへ移動
  3. すべてのファイルを削除
  4. コミット
  5. masterブランチへ移動
  6. masterブランチへclean_upブランチをマージ
  7. clean_upブランチを削除
  8. リモートリポジトリへpush
上記を踏まえて、基本的なbranch操作コマンドを以下にまとめました。


Branch運用方法

Branchの操作方法がわかったところで、疑問に思うのは

じゃあ、どうやってBranchを運用していくのか?

だと思います。

Branchは作りたいだけ作れますし、たとえ個人で開発している場合でも運用ルールを決めておいたほうが迷いません。


GitHub flow

GitでのBranch運用といえば、Git flow日本語での説明:git-flow cheatsheet)が有名ですが、個人もしくは小規模の場合GitHub flow(原文はこちら)の方がシンプルで使いやすいだろうと思い、こちらを紹介します。

翻訳版の記事から引用すると、


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

  • 新しい何かに取り組む際は、説明的な名前のブランチをmasterから作成する(例: new-oauth2-scopes)

  • 作成したブランチにローカルでコミットし、サーバー上の同じ名前のブランチにも定期的に作業内容をpushする

  • フィードバックや助言が欲しい時、ブランチをマージしてもよいと思ったときは、 プルリクエスト を作成する

  • 他の誰かがレビューをして機能にOKを出してくれたら、あなたはコードをmasterへマージすることができる

  • マージをしてmasterへpushしたら、直ちにデプロイをする


これが全てである。と書いてあります。これを簡易図に起こしてみました。



pull requestとありますが、チーム開発時にレビューを行う為の手段となるので、個人で開発している場合は自分で最後に見直したあと$ git pushに置き換えていいと思います。


QooQ