私たちのプロジェクトでは、開発のための2ヶ月とUATの1ヶ月を四半期ごとにリリースしています。私たちは非常に大きなプロジェクトであり、それぞれのプロジェクトで約20のチームが別々のモジュールで作業しています。マージ競合支店を押してください
私たちが従うことは、私たちがマスターに取り組んでいることです。そして、2か月後にリリースバージョンを持つリリースブランチを作成します。 RELEASE_VERSION_20.1
。リリース後、RELEASE
ブランチをmaster
にマージします。
RELEASE_VERSION
ブランチとmaster
の間で競合が発生するようになりました。現在、開発者の1人がRELEASE_VERSION
をmaster
にマージする責任を負っています。そこで、ブランチアウトを作成するかmaster
と言うとmerge_RV20.1_into_master
となります。その後、彼/彼女は、競合を解決しようとしますが、彼らはすべてのモジュールについての知識を持っていない可能性があり、すなわちmaster
の変化の一部が上書きされる可能性があるか、リリースブランチからのいくつかの変更が失われる可能性が間違ってマージを行うことに終わる可能性があります。
したがって、マージされたブランチmerge_RV20.1_into_master
を作成する方法があります。すべての競合があり、このブランチをリモートにプッシュすることができるので、各チームの1人の開発者がこのブランチをチェックアウトし、知識のある競合を解決してリモートにプッシュできます。
合意したプルリクエストが最良の方法だと思われますが、私たちが気付いたのは、マージが競合である場合、ギブスは正確な違いを示さないということです。更新されたマスターではなく、いくつかの古いバージョンのマスターとの違いを示すようになります。 : –