![](/img/trans.png)
[英]Decoupling a Visual Studio solution into multiple (interdependent) git repositories
[英]Visual Studio Solution from multiple Git repositories
我們在 Git 上有兩個不同的存儲庫,需要將它們組合在一起以在 Visual Studio 中形成解決方案。
每個項目下的文件可能來自兩個不同的存儲庫。 我需要確保在我進行更改時,它會更新正確存儲庫中的更改(也就是說,另一個存儲庫根本不應感知到它),並且還為我提供了將新文件添加到特定存儲庫的選項。
如果可以的話,如何做到這一點?
您可以使用子模塊來實現它。 將一個存儲庫視為 mainRepo,將另一個存儲庫視為 subRepo。
git submodule add subRepo's_URL
,使用git submodule add subRepo's_URL
git commit –a –m 'input your comment'
,然后可以提交來自 mainRepo 的修改過的文件cd foldername
) 中,您還可以使用git commit –a –m 'input your comment'
,因此可以提交來自 mainRepo 的修改文件。這可能與您想的不同,但它確實可以節省您想要更新更改的正確存儲庫。
有關子模塊的更多詳細信息,您可以參考此處。
Visual 2022 終於有了真正的多倉庫支持。 截至目前,您必須將其啟用為預覽功能。
https://devblogs.microsoft.com/visualstudio/multi-repo-support-in-visual-studio/
現在使用項目管理器擴展很容易。 (至少在 Visual Studio Code 中是這樣,我懷疑在 VS 中也是如此,因為 VS 是 VSC 的超集)
這是我在 VS Code 中所做的,在 Visual Studio 中應該是類似的
假設您設置了一個 Git 類型的存儲庫,並且對於必須保持不同的項目的每個部分,您都有一個單獨且不同的頂級存儲庫。
在 GitHub(或類似的)中,您創建所需的兩個存儲庫並根據需要導入文件。
如果存儲庫/工作區已存在於本地開發機器上,請確保存儲庫完全是最新的。
在 Visual Studio 代碼中安裝項目管理器擴展。
在開發機器上,您為整個項目創建一個“頂級”文件夾作為一個整體,然后在 VSC 中打開該文件夾。
然后將該文件夾另存為“項目” 此時,您應該將存儲庫“克隆”到頂級項目文件夾內的文件夾中。 您將存儲庫克隆到一個新位置,因為移動存儲庫是一件痛苦的事情,只會帶來麻煩。
將每個克隆的存儲庫保存為“工作區”
此時,您有一個包含兩個工作區的“項目”。
根據需要將任何未克隆的文件夾/文件移動到新的存儲庫位置。
一旦你完成了這一切(實際上比聽起來容易),你就可以將兩個存儲庫作為獨立對象訪問,提交到正確的存儲庫,但你可以並行處理它們,(有點)如果你願。 您可以通過在新窗口中打開第二個工作區來完成此操作。
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.