Monot ドキュメント
ブランチルール
Monotでは、上記のような A successful Git branching model を採用しています。
リモートリポジトリで管理する、main, hotfix, release, develop と、開発メンバーのローカルに存在する feature の五つのブランチで構成されます。
注意
マージをする際は、git merge ではなく、git merge --no-ff を使用してください。
ブランチ
main
mainブランチには基本的に直接コミットすることはなく、releaseブランチまたはhotfixブランチからのマージだけで成り立ちます。また、mainには必ずバージョンのタグをつけます。そのため、mainブランチは常に提供できる状態じゃないといけません。
内部開発者へ:mainブランチにmergeする場合は、必ず代表者に許可をもらってください。
develop
このブランチは、Monotを開発するときに基本的に使われるブランチです。基本的にはfeatureからmergeを行う先として使用します。
feature
このブランチはリモートで管理しないでください
新しくfeatureブランチを作るときには以下のように行います。
git checkout -b myfeature develop
featureブランチで機能を作って完成させたら、以下の手順でpushを行ってください。
git checkout develop
git merge --no-ff myfeature
git branch -d myfeature
git push origin develop
release
releaseブランチは、mainブランチにmergeする(バージョンを上げる)準備のためのブランチです。このブランチの名前は、必ず最初をrelease-
とする必要があります。基本的にこのブランチでは、リリース直前の細かなバグ修正等を行い、新機能の追加は行いません。
新しくこのブランチを作ったら、まず最初にバージョンの設定を行ってください。 releaseブランチがmainブランチにmergeできる状態になったら、以下の手順で完了してください。
git checkout main
git merge --no-ff release-1.1.0
git tag -a 1.1.0
git checkout develop
git merge --no-ff release-1.1.0
git branch -d release-1.1.0
内部開発者へ:作成、mergeには代表者による許可が必要になります。
hotfix
hotfixブランチは、mainブランチに存在する、すでに提供されている物にすぐに修正すべきことが見つかったときに作られるブランチです。
新しくこのブランチを作ったら、まず最初にバージョンの設定を行ってください。 hotfixブランチがmainブランチにmergeできる状態になったら、以下の手順で完了してください。
git checkout main
git merge --no-ff hotfix-1.1.1
git tag -a 1.1.1
git checkout develop
git merge --no-ff hotfix-1.1.1
git branch -d hotfix-1.1.1
リリース周期
例外がない限り、前回のメジャーバージョンから半年~8ヵ月たったらreleaseブランチへと移行します。
メジャーバージョンのリリースはおおよそ6月ごろになります。
バージョン名の付け方
機能の追加をした場合は、v.1.1.0など、一つ目の小数点の後の数を増やします。
細かいバグの修正やデザインの変更など、ユーザにとってはあまり気づかない変更点しかない場合は、v.1.0.1など、二つ目の小数点の後の数を増やします。前述したhotfixブランチで修正したバージョンはこのようなバージョンになります。
これは、以下を参考にして書かれました。そのため、さらに詳しく知りたい人はこれらも見るといいかもしれません。
https://nvie.com/posts/a-successful-git-branching-model/