Outline
- まえがき
- masterは開発ブランチではない!!
- プロジェクトマネージャーがmasterを管理しろ!!
- コメントはソースではなく、プルリク内に書け!!
- 最終的なGit管理構成
まえがき
仕事で利用していたGit運用体制に納得いかず、どんな運用方法が良いのかを考察したので、Qiitaにまとめようと思いました。
masterは開発ブランチではない!!
自分のところの開発環境がmasterブランチのみで開発を行なっています。いや、それじゃ、SVNと変わらんやん。ブランチの概念理解してます?
- Gitのmasterブランチの位置付け
- リリース可能な状態だけを管理する
- 特定のブランチからマージすることによってしか更新されない
- 直接コミットしてはならないという制約をもつ
- バージョンごとのtagはここから生まれる
当たり前のようにmasterブランチは基本ですが、このブランチモデルにおけるmasterは、開発の主軸ではありません。このmasterは、今顧客に提供している価値そのものを表すブランチです。
masterは主軸のソースであって、開発するソースではないんです!!
プロジェクトマネージャーがmasterを管理しろ!!
masterのみで管理していると、developerの方がmasterをいじれます。
先ほども言いましたが、Gitの概念を理解していない。
基本的にはPMの方がソースレビューを行い、git mergeを行います。
PMの方頑張ってください。
コメントはソースではなく、プルリク内に書け!!
GitHub/GitLab/GitBucketには、プルリク(pull request)の機能があります。
プルリクでは、変更した箇所が色分けされており、そこに対しコメントを記述することができます。
色分け、UIによる差分を見ても可読性が向上します。
GitLabのリポジトリをブラウザで開いた例です。
最終的なGit管理構成
- PM
- master管理
- git merge
- ソースレビュー
- PG
- developer使用
- git push
- pull request
ざっとこんな感じですかね。
PMとPGは分けて考えないとGitの意味も権限の意味も理解していない。