私たちは、この分岐構造を持っている:リセットしてすべてのユーザーにローカルバンチを適用するにはどうすればよいですか?
- マスター(生産に配備/ビルド)
- QA(Q &環境に配備/ビルド)
- だから、我々が作成枝
ていますマスターからのフィーチャーブランチを作成し、次にQ &でフィーチャーを検証する必要があるときにqa(マスターから作成)にマージします。
いくつかの開発がマスター(小さなものやバグ修正)に直接マージされたため、時にはmasterからqaを再構築する必要があります。
私が何をしたか:
git checkout qa
git reset --hard master
git push --force origin qa
だから、リモート、私はそれをしたい正確に同じようになりました。
しかし、他の開発者がgit fetch
を実行すると、ローカルにあるqa
のすべてのコミットが発信コミットとして表示されます。これは論理的です。すべてのマシンでgit reset --hard origin/qa
を実行する必要がありましたが、危険です。
他の解決方法はありますか?
EDIT:なぜ私たちはこれをやっているのですか?qaブランチ上にあった機能が放棄されたので、masterからqaブランチを再作成して、他のすべてのブランチにマージする必要があります。
私は実際にあなたのユースケースを理解していません。なぜあなたはqaをマスターに簡単にリベースできませんでしたか? –
私は理解していない - 'qa'を' master'にリセットして 'preprod'ブランチを押しますか? – phd
@phd、私の悪い誤字、私はそれを編集しました –