コードリポジトリには git と github を使用しています。私の契約開発者の 1 人は Windows を使用していますが、残りはそうではありません。Windows 開発者は、プロジェクトを Windows で動作させるために、さまざまなファイルにいくつかの変更を加える必要がありました。これらの変更を master ブランチにマージしてはなりません。これらの変更以外に、彼はコミット (以前に Windows 固有のコミットを行った可能性のあるファイルへのコミットを含む) を行い、それを (私のレビューの後) マスター ブランチにマージして戻します。
これを解決しようとする私の最初の試みは失敗しています。彼のための特別なブランチ「windev」を作成し、origin に追加しました。彼は最初の Windows 固有のコミットを、リモート ブランチを追跡するローカルの windev ブランチに行い、その後、このブランチだけで作業を続け、プッシュしました。最初は、彼の Windows 固有のコミットを master ブランチにマージしたくないので、彼の関連するコミットだけを選んでみようと思いました。これは、マスター ブランチに適切なコミットを取得するためにうまく機能します。問題は、彼が master からの自分の windev ブランチを定期的に更新して、最新のコード ベースを保持する必要があることです。リベースを試すことから始めましたが、チェリーピックやウィンドウ固有のコミットをまったく処理できず、混乱を招くように見えました。だから、私は' コードを更新するたびに master ブランチからマージしてもらいましたが、問題は、私が選んだコミットごとに、ブランチに重複したコミットがあることです。また、これらの重複したコミットが不必要な競合や潜在的なコード損失につながっているのではないかと考えています。
私は彼とやり直す準備ができています. しかし、私はこの状況に最適なワークフローが何であるかを理解しようとしており、ちょっと混乱しています. 何か案は?(PS 彼は git を初めて使い、混乱しているので、彼のためにシンプルに保つようにしています。ワークフローの複雑な部分は自分で処理したいと思っています。)