開発フェーズ
開発時のブランチの取り回し
通常手順
1. フェッチ→プルを実行してから、作業を始める
必ず、develop
ブランチが最新であるかどうか?を確認します。
2. フィーチャーブランチを開始
ローカルブランチで、develop
から feature
ブランチを生やし、開発をします。フィーチャーブランチを開始(Start)すると言われたりします。
3. プルリクエストの作成
開発作業が終わったら、フィーチャーブランチは、リモートブランチ(github)にプッシュして、デベロップブランチへのプルリクエストを作ります。
4. フィーチャーブランチを終了
デベロップブランチへマージしたら、リモート、ローカル共に、フィーチャーブランチは、削除します。フィーチャーブランチを終了(Finish)すると言われたりします。
VSCode で 終了させることもできますが、フィーチャーブランチに関して、それはしません。
GitHub のプルリクエストでコードレビューを挟むことを前提としたいためです。
develop の開発が進んでいたら
トップページを作るうちに、フレームワークを作っていた仲間が、develop を進めていることがあったとします。
コンフリクトが無ければ、特に問題なく通常手順通りに進められますが、問題はコンフリクトが起きて素直にマージ出来ない時の対処です。
衝突の解消
具体的には、下の□にしたコミットのどこかで、衝突を起こしているわけですので、
ブランチを操作して、以下のような構成になるように、ローカルでリベース作業を行ってからプッシュするようにしましょう。
定期的にデベロップブランチにリベース
Git Graphを見るときは、必ずフェッチをしましょう。
フェッチして、デベロップブランチが進んでいることを確認したら、積極的に自分のフィーチャーブランチをデベロップブランチにリベースすることを心がけてください。
リベースが遅くなるほど、衝突箇所が増えていくことになるので、混乱します。
フィーチャーブランチが長くなりすぎると、フィーチャーブランチ同士の衝突が起こりやすくなります。
自分と同じように仲間もデベロップブランチを監視することで、進捗を把握しています。
頼まれない限り、基本的に他人のフィーチャーブランチを見に行ったりはしません。
区切りの良いところを見つけて、フィーチャーブランチは終了させるように。つまり、長いフィーチャーブランチを作らないように、こころがけましょう。