0

現在、2 人の開発者がプロ​​ジェクトに取り組んでおり、Github と Github-Client for Windows を使用しています。

私たちの Github ブランチ:

  1. 主人
  2. pre_production (マスターからクローン)
  3. dev_1 (マスターからクローン)
  4. dev_2 (マスターからクローン)

基本的な考え方は、開発用の 2 つのブランチであり、その後 pre_production にプッシュされ、pre_production サーバーでテストされます。次に、すべてが正常に機能したら、マスターにプッシュします。

私は Git にかなり慣れていないため、上記のワークフローが正しいかどうかはわかりません。とにかく、ワークフローをテストしていて、次の手順を実行しました。

Dev1 マシン上

  1. ローカル dev_1 に変更を加え、リモート dev_1 と同期
  2. ローカルの dev_1 をローカルの pre_production にマージしました (pre_production はまだ変更されていないため)
  3. ローカルの pre_production をリモートの pre_production と同期しました。
  4. ローカル pre_production をローカル dev_1 にマージしました
  5. local_dev1 をリモート dev_1 と同期しました

Dev2 マシン上

  1. ローカル dev_2 に変更を加え、リモート dev_2 と同期
  2. ローカルの pre_production に切り替え、リモートの pre_production と同期
  3. ローカルの dev_2 をローカルの pre_production にマージしました
  4. 同期されたローカル pre_production とリモート pre_production
  5. ローカル pre_production をローカル dev_2 にマージしました

ここまではうまくいきました。次に、dev2 によって行われた変更を dev1 にマージしようとしたときに、ローカル dev_1 をリモート dev_1 と同期しているときに失敗しました (ステップ 5)。

私たちは Git を初めて使用するので、助けていただければ幸いです。

4

1 に答える 1

0

私の質問に対する答えが見つかったようです。

ステップ 5 では、local_dev と remote_dev を「同期」しようとする代わりに、単純に remote_dev へのプッシュを強制しました。local_dev にはリモートの変更ではなく最新の変更があるため、これを安全に行うことができます。

以下のコマンドを使用してそれを行いました:

git push git_url local_branch:remote_branch

これが誰かに役立つことを願っています。

于 2013-03-10T11:02:59.967 に答える