4

たとえば、10 個のプロジェクトを含む .NET ソリューションがあります。

いくつかの考え方があります。

  1. プロジェクトごとに Git リポジトリを使用してから、ソリューションとサブモジュール用のリポジトリを使用します。そのため、各.csprojファイルと依存ファイルは独自のリポジトリを取得します。
  2. ソリューション全体に対して単一の Git リポジトリを使用します。.slnファイルが依存するすべてのもの。

オプション#1を見ると、機能ブランチに取り組んでいるかのように、参照されるサブモジュールごとに機能ブランチを作成する必要があるため、難しいと思います。多くのオーバーヘッドが発生します。

オプション #2 は分岐を処理する方が簡単に思えますが、プロジェクトに多数の開発者がいる場合、特にファイルを処理するときに、かなりの量のマージ競合が発生する可能性があり.csprojます。

他の .NET 開発者は、さまざまなソリューションで Git リポジトリをどのように管理していますか。

4

2 に答える 2

2

git リポジトリには、必要なものがすべて含まれている必要があります。つまり、リポジトリのクローンを作成すると、それを操作するために必要なすべてがダウンするはずです。

そうは言っても、プロジェクトが自立するのに十分自己完結型である場合。独自のリポジトリを提供します。その後、サブモジュール (ソリューションの作業中にコードが必要な場合) またはコンパイル済みの dll (機能のみが必要な場合) としてソリューションに組み込むことができます。

于 2013-01-17T17:49:38.793 に答える
1

このように設定された単一のリポジトリにすべてのものがあります

メイン フォルダー --> すべてのソリューション ファイルはこちら
  -サブフォルダー --> すべての実行可能なプロジェクト
  -サブフォルダー --> すべてのライブラリ プロジェクト
  -サブ フォルダー --> すべてのサードパーティ DLL

そのため、誰かがライブラリ プロジェクトを変更している場合、それを参照するすべてのソリューションは同じ場所を指しています。そして、すべてがまとめられて整理されています。おそらく使用することのないコードを常にプルダウンしているため、少し余分なオーバーヘッドが生じると思いますが、私はこのアプローチが好きです。

于 2013-01-17T17:02:16.483 に答える