抽象ブランチ
💪やること
ブランチを作成せずに機能の追加、変更を行う。
開発中は頻繁にpullする。commitなどのhookにpull入れてもいい。
🚩目的
🤔経緯
大きな機能追加や変更はフィーチャーブランチを作成し、プルリクエストなどによりレビュー後マージされるような運用が多い。フィーチャーブランチは変更が肥大化しやすく、長命になりやすいため、マージにコストがかかったりリスクがあったりする。 アクティブメインラインをとるとブランチが作成できないが、一つのコミットで全ての機能を実装するとなるとコミットが大きくなり、ブランチを作成する以上にコストとリスクがある。 抽象ブランチにより、変更を小さいサイズでmasterにコミットする。そのコードは実行されないが、コードとしてはマージ済みであり、コンパイルやテストはパスしている必要がある。抽象ブランチが十分となればそちらを使用するように切り替え、古いコードを削除する。
🏆結果
コンパイルとテストがパスするコードが維持できる。