現在、gitワークフローを使用しているチームとプロジェクトに取り組んでいます。マスターはデプロイ可能な状態であり、機能とホットフィックスを作成するためにブランチが使用される必要があります。機能またはバグ修正が完了してテストされたら、できるだけ早くマスターに移行します。アイデアは、ブランチをできるだけ小さくして、それらをマスターにマージしやすくすることです。masterブランチにプッシュされたコードはデプロイ可能な状態にして、テストに合格するというポリシーがあります。
開発者の1人が1つのブランチで多くの作業(数か月分)を行っており、このブランチがまだマスターにマージされていない状況があります。現在、このブランチにはいくつかの別個の機能と多数のコミットがあります。本質的に、このブランチは実際には数回ですでにマージされているはずですが、今のところそうではありません。ほとんどのコードは、マスターに戻すことができる単体テストで良好な状態にありますが、最新の変更は、完了しておらずテストされていないため、確かにそうではありません。
あるブランチが他のブランチから本当に遠く離れているような状況に対処する最良の方法は何ですか?将来、ブランチがマスターから非常に多くのコミットを取得するのを避ける方法はありますか?