2

私は(少なくとも私の心の中で)単純であるべきものに苦労してきました:

「MainProgram」と「SubLibrary」の 2 つのプロジェクトがあります。どちらも、新しい Visual Studio 2012 Git サポートを使用して Git リポジトリで作成されました。

両方のリポジトリは独立して正常に動作します。

ただし、「既存のプロジェクトを追加」/SubLibrary を MainProgram ソリューションに追加すると、SubLibrary は Visual Studio によって「git 監視」されません。ソリューション エクスプローラーなどにステータス アイコンがオーバーレイされません。 -コントロール。

いくつかの調査を通じて、git サブモジュールを MainProgram リポジトリに追加し、SubLibrary プロジェクトのクローン バージョンをソリューションに追加すると、.. ソリューション エクスプローラーの git アイコンが表示されました!! ... しかし、私の喜びは短命でした ..... 履歴がありません。変更されたファイルのステータスがソリューション エクスプローラーに表示されませんでした。ただし、変更はファイル エクスプローラー内から TortoiseGit によって取得されました。

.gitmodules ファイルは問題ないように見えました (しかし、おわかりのように、私は git グルではありません!) .....

確かに、単一のソリューション内で複数のプロジェクト/リポジトリをバージョン管理できるはずです!

誰かが私を正しい方向に向けることができれば、とてもうれしいです!

4

1 に答える 1

0

Git では、小さなリポジトリを持つのが普通です。一般的なリポジトリには 1 つのプロジェクトが含まれますが、TFS と Subversion では 1 つのリポジトリに複数のプロジェクトが含まれる傾向があります。

それはあなたが説明した状況につながります。現在、私が見る限り、Visual Studio (および TFS) 内での git マルチリポジトリ サポートはありません。各プロジェクトが独自の Git リポジトリに存在する場合、複数のプロジェクトで単一のソリューションを持つことはまったく不可能です。

私が過去にやったこと:

  • ルートとなるディレクトリを作成しました
  • そのディレクトリに、個々のプロジェクトごとにサブディレクトリを作成します
  • 各 git リポジトリをそれぞれのサブディレクトリにクローンします
  • プロジェクトでは、相対パスでファイル参照を使用して参照を追加します
  • (省略可能) すべてのソリューションを正しい順序でビルドする単一の MSBuild ファイルを作成します。このようにして、複数の Git リポジトリを使用してビルドを作成できます。

この方法では単一のソリューションは得られませんが、個々のリポジトリで変更を追跡できます。

これがお役に立てば幸いです。

于 2013-04-24T09:00:29.597 に答える