2013-03-01 127 views
1

我一直在掙扎什麼(在我腦海中至少)應該是簡單的跟蹤多個子項目:使用Visual Studio 2012的git

我有兩個項目,「MainProgram(主程序)」和「子庫」。兩者都是使用新的Visual Studio 2012 Git支持使用Git存儲庫創建的。

這兩個存儲庫獨立運行良好。

但是,當我將「添加現有項目」/ SubLibrary添加到我的MainProgram解決方案時,SubLibrary根本沒有被Visual Studio「git-monitored」 - 在解決方案資源管理器等中沒有疊加狀態圖標 - 就像該項目一樣不受源代碼控制。

通過一些研究,我添加了一個git submodule到MainProgram repo,添加了SubLibrary項目的克隆版本到解決方案中,並且..解決方案資源管理器中的git-icons出現了! ...但我的快樂是短暫的.....沒有歷史,更改文件的狀態沒有顯示在解決方案資源管理器中。 TortoiseGit從文件資源管理器中找到了這些更改。

的.gitmodules文件看起來不錯(但你可以收集我不是混帳大師!).....

當然,它必須能夠有一個單一的解決方案中在多個項目/回購版本控制!

如果有人能指出我正確的方向,我會非常感激!

回答

0

在Git中,通常擁有較小的存儲庫。一個典型的倉庫將包含一個單獨的項目,而TFS和Subversion往往在一個倉庫中擁有多個項目。

這會導致你描述的情況。目前據我所見,Visual Studio(和TFS)中沒有git多版本庫支持。當每個項目都駐留在自己的Git存儲庫中時,單個解決方案不可能包含多個項目。

我在過去所做的那樣:

  • 我創建了擔任根
  • 在該目錄中爲每一個項目
  • 克隆每個git倉庫創建一個子目錄的目錄及其相應的子目錄
  • 在項目中使用帶有相對路徑的文件引用來添加引用
  • (可選)創建一個MSBuild文件,該文件在其correc中構建所有解決方案t順序。通過這種方式,您可以使用多個Git存儲庫創建構建。

您不會有這種方式的單一解決方案,但您將能夠跟蹤每個單獨存儲庫中的更改。

希望這可以幫助你。