リポジトリとブランチモデル
これまで git は使っていたものの一人で開発してきたので、あまり master 以外のブランチを使ってこなかった。今後のことも考えて、いろいろなことを正しく活用していくことにした。SourseTree 自体に Git-flow をサポートする仕組みが用意されているので、今回はこのブランチモデルを利用してみる。
Git-flow
Git-flow では以下の五つのブランチを用意する。
- master
- 公式のリリースブランチ
- develop
- 開発用のブランチ
- feature
- 開発用ブランチから新規機能追加用に分離するブランチ
- release
- リリース準備用意ブランチ
- hotfix
- 公式のリリース後にちょっとした修正をするブランチ
使い方はこんな感じですかね。
- SourceTree で Git-flow を設定する → 自動的に develop ブランチが作成される
- さらに Git-flow を設定すると、feature ブランチが作成される。例えば、feature/configure_systems のように追加する機能名をブランチ名にする
- ここのブランチに切り替えて開発を進める
- 開発が一段落したところで、develop ブランチとマージするdevelop も別に進んでいて、そこでコリジョンが起きたら解決する
- 機能開発ブランチの作業がすべて終わったら、ブランチを削除する
- リリース候補ができたら、develop から release ブランチを切る
- release ブランチで問題があれば release ブランチの中で解決する
- release できるものになったら、master ブランチにマージし、バージョンタグを付ける。release ブランチが進んだ場合は、develop ブランチにマージしてフィードバックする
- master で軽微な問題が発生した場合は、master から hotfix ブランチを切り、そこで解決する
- hotfix で修正されたら master にマージし、バージョンタグを付ける
以上が atlassian の git-flow ワークシート で学習した内容。これからこれで進めてみる。
今日はここまで。
written by iHatenaSync