現在、ソース管理を管理するためにTFS 2010を使用しています(MSショップなので、デフォルトの選択でした)。
スタンドアロンプロジェクトでは問題ありません。ただし、クライアントごとにオーダーメイドしたコア製品があります。多くのクライアントは非常に重要なカスタマイズを必要としますが、他のクライアントはほんの少しの微調整を必要とします。
私たちはそれが悪夢であることに気づいています。基本的に、コア製品を含むチームプロジェクトがあります。クライアントが変更を必要としない場合は、コア製品をデプロイするだけです。彼らが変更を求めた場合、私たちはコア製品チームプロジェクトを分岐させ、それに取り組み始めます。
したがって、変更が必要な単一のファイルでは、製品全体を分岐する必要があります。私たちはこれを間違っていますか?私は、各クライアントが必要とする主な製品との違いを含むブランチを作成することを想像しました。次に、基本的にクライアントはコアと必要な変更を取得します。次に、コアに追加または変更すると、自動的に取得されます。
私たちは常にコアを開発しているので、すべての分岐プロジェクトに変更をマージすることに人生を費やしているように見えました。現在5つのクライアントがありますが、来年には15〜20のパイプラインがあります。しかし、私たちが5で行っている作業を考えると、これは完全に管理できないように思われます。プログラマーとしての私たちの生活は、マージ後にマージするだけのようです。これは、製品がまったく新しいため、コアのチャーンが多いためです。しかし、私たちは常にコアを開発し続けたいと思います。問題は、私たちの誰もがこのようなプロジェクトに取り組んだことがないということです。そのため、これが私たちがそれをどのように扱うべきかがわかりません。
このコア/ブランチ/エンドレスマージ全体が私たちを悲しませてくれるので、誰かが何か考えを持っていますか?誰かが私の同僚の一人に、gitは私たちが何かを見るのに役立つだろうと提案しました。
ありがとう