作業したい git プロジェクトをチェックアウトしました。プッシュ許可がないので、アップストリームのメンテナーにパッチを提出します。自分のブランチを作成し、その 1 つのブランチで他の数人と共同作業したいと考えています。作業が完了したら、メイン プロジェクトの現在の責任者に対してブランチをリベースし、アップストリームのメンテナーにパッチを送信したいと考えています。問題は、1 つのブランチで作業している人々のグループ間のコラボレーションをどのように組織するかということです。
現在、次のセットアップを使用しています。
- リポジトリのベアコピーを保持する独自の git サーバーがあります。
- そのサーバーに作業ブランチを保存します
- 他の開発者は自分の変更をサーバー上のそのブランチにプッシュし、他の開発者が行った変更を引き出すため、サーバーはブランチで作業するすべての人にとって中央リポジトリとして機能します。
- master に加えられた変更は、プロジェクトの上流リポジトリから取得されます。
- 必要に応じてマスターをサーバーにプッシュできます
これは良いセットアップだと思いましたが、アップストリームから現在のマスターに対してブランチをリベースすることにした場合、すべてが壊れることに気付きました。リベースされたブランチをローカルサーバーにプッシュすると、他の人にとっては大惨事になるので、明らかにこれは正しい設定ではありません. これについて友人と話し合ったところ、問題の原因は私自身のローカル サーバーをすべての開発者の中央サーバーとして使用していることが原因であると指摘されました。そのため、問題の原因はわかったと思いますが、git ワークフローを整理する正しい方法を思いつきませんでした。これはどのように行うべきですか?