Git(GitHub)で、以下の様なリモートブランチで作業していたとします。

master
  --develop
    --branchA
    --branchB
    --branchC

通常の運用では、各ブランチの開発が終わったらdevelopにマージし、ステージングで確認した後にmasterにマージして本番リリースとなりますが、以下の様な状況が発生した場合、どうするのが効率的でしょうか。

  • branchCだけを再優先でリリースしなければならなくなった
  • 既にbranchAはdevelopにマージ済みだが、ステージングで未確認のため本番リリースはできない
  • branchBはリモートにPush済かつPullRequest発行済でレビュー中のため、まだdevelopにはマージしていない

branchCをリリースするためにbranchAの確認を急いでbranchAとCを同時にリリースする、と言うのはナシで、あくまで先にbranchCのみリリースしたいです。

また、例のようにマージ済みのブランチが1つだけならまだいいですが、実際は複数あります。

何かいい方法があったら教えていただけますでしょうか。
よろしくお願いします。

※Gitの仕組みをキチンと理解してないで無謀なことを言ってしまえば、branchCの親をdevelopからmasterに変えてしまうようなことができれば、hotfix的に扱えて理想的なんですが…(^-^;