Git を使用して Django プロジェクトに取り組んでいる 3 人がいます。
私は他の 2 人よりも経験が豊富なので、すべての変更は「マスター」に入る前に私が行います。
私たちは皆 Windows を実行しており、ディスクベースの共有が機能する場所ではないため、Linux ボックスの個々のアカウントに個別の「オリジン」リポジトリがあります。これらは、変更を互いに共有する方法として、またリポジトリの「オフサイト」バックアップとして機能します。
他の 2 人のうちの 1 人がブランチを作成し、それを BugA と呼び、修正を行います。次に、彼らはそれを自分の作業マシンから私たち全員がアクセスできる Linux マシンにプッシュして、変更を確認し、それらを私のアカウントの「マスター」にマージできるようにします (これは、本番環境に移行するコードのコピーと見なされます)。
BugA を終了すると、新しいブランチで BugB を開始します。彼らの作業をレビューしていると、いくつかの問題 (余分なコード、コメントの欠落など) が見つかりました。そのため、コードに変更を加えてテストし、master にコミットします。
その後、彼らは BugB の修正を私に送ってくれました。これらの競合は、コミットで変更したコードの行にあります。
彼らが私と合併しようとするとき、彼らは彼らの側でも衝突を報告します。
これを書いているうちに、何が間違っているのか理解し始めていると思います。私は彼らのコードをマスターにマージし、編集とコミットを行っています。私は本当に私のレポで彼らのブランチに変更を加え、それらをマージするためにそれを押し戻し、それからそれらを私のマスターにマージする必要があります。
よくわからないのは、それについて何をすべきかということです。彼らが私のレポからのブランチとマージしたら、マスターとマージする必要がありますか? 1つではなく2つのマージ?
Linux ボックスに外部ホストのレポがあるため、2 回のプッシュ、2 回のマージなどを意味します。
それは本当にそれがどのように機能するべきですか?