リモートリポジトリや、ローカルリポジトリにブランチというコピーのようなものを作って、
そこで作業してプルリクしたり、マージしたりすることで共同作業することは分かった。
開発に関係するリポジトリとブランチの全体像が見えねぇ!
解決してくれたサイト様
Gitを最大限に活用できる「Git flow」で、効率よく開発を進めよう!
状況を整理しよう
何かを開発して、サービスを提供する以上は大別して2つの環境に分けられる…
①サービスを提供する/している/する予定のサーバー環境
②開発用やテストなどで使用するローカル環境
①をとっても、②をとっても1つの環境で開発が完了するということは無いであろう。
(逆説的に環境1つで完了するのであれば、今回の”全体像”は気にしなくて良いレベルに重要性が低くなる)
いくつもの環境から開発やテストをするときに、関係するリポジトリの数は多くなる。
その多くなったリポジトリと、それぞれのリポジトリ内に存在するブランチはどうなっているのか?
例えば…
①サービスを提供する「本家サーバー」
②3人1組の開発チーム、2人1組の保守チーム
①と②で合計して6つの環境があったとする。
そうすると、それぞれの環境でローカルリポジトリと、リモートリポジトリが存在する。
「本家サーバ」のローカルリポジトリ
「本家サーバ」のリモートリポジトリ
開発チームAさんのローカルリポジトリ
開発チームAさんのリモートリポジトリ
開発チームBさんのローカルリポジトリ
開発チームBさんのリモートリポジトリ
…
この時点で「うわっ、管理めんどくせぇ」となるうえに、
それぞれで無秩序にブランチを作成して作業をしていたのでは
どのブランチがどういった用途で使われているかという個人のルールを
全員(もしくはリーダー)が把握するという無駄な中間管理業務が発生してしまう。
”中間管理”という表現で済めばいいけど本番環境でトラブったらやばくね?
ヒューマンエラーの予感しかしねぇ!
マージするとかちょー怖い。
解決しよう
解決策:みんなで統一できて効率の良いルールを使おうぜ
⇒そうだ、Git flowを使おう!
完
「どんな具合にブランチを切ったら良いか」は
「Git flowを解説してくれよぅ」と同義なため、頑張ってGit flowを勉強して下さい。
(残念!筆者も勉強中なのだ!)
To 先人の方々
理解が間違ってたらコメントください。