私の問題は、例を用いて最もよく説明されています。Visual Studioで簡単にプロジェクトを再利用できるようにgitリポジトリを設定するには
プロジェクト「A」があるとします。
「A」に依存するプロジェクト「B」もあります。
別のプロジェクト "C"も "A"に依存します。
私の "メイン"プロジェクトは "B"と "C"に依存しています。 「A」に直接依存することもあります。
"メイン" == "D"
これらは私の要件にしているときビット"dreaded diamond of inheritance"次のようになります。
私が編集できるようにしたいと思います"メイン"のソリューションのプロジェクト "A"、 "B"、 "C"の内容と変更の提出(DLLだけでなくコードも含めたい)しかし、 "B"と "C"はどちらも "A"に依存しているため、同じコミットを参照するように強制する必要があります。
プロジェクト "A"、 "B"、 "C"は他のプロジェクトからも参照される可能性が高いので、プロジェクト "main"の作業ディレクトリの所有権を引き継ぐことはできません。
また、各プロジェクトのリポジトリを外部レポジトリと同期させることも可能です。
プロジェクト「A」、「メイン」、「B」、「C」とは、あるべき
どのように私はこれを達成するために、私のリポジトリを設定する必要がありますか? submodules approachを使用して
したがって、BとCのパスをDに設定する方法はありませんか?あなたがそれを振ることができるなら、それは最も簡単な修正です。 – jthill
@jthill "B"と "C"は "D"だけでなく、他のプロジェクトでも使用されます。それぞれが異なるバージョンの "B"と "C"を使用することがあります。だから、プロジェクト "D"をコンパイルする前に "B"と "C"の正しいバージョンをチェックしないと、単に兄弟フォルダに入れて相対パスを使うことができません。 – Onur
おっと、申し訳ありませんが、私は "A"がトップレベルのプロジェクトだと思っていました。いずれにしても、共通のバージョンが必要な場合は、1つの場所でチェックアウトし、必要なものすべてを設定して使用するようにしてください。 – jthill