簡體   English   中英

來自多個 Git 存儲庫的 Visual Studio 解決方案

[英]Visual Studio Solution from multiple Git repositories

我們在 Git 上有兩個不同的存儲庫,需要將它們組合在一起以在 Visual Studio 中形成解決方案。

每個項目下的文件可能來自兩個不同的存儲庫。 我需要確保在我進行更改時,它會更新正確存儲庫中的更改(也就是說,另一個存儲庫根本不應感知到它),並且還為我提供了將新文件添加到特定存儲庫的選項。

如果可以的話,如何做到這一點?

您可以使用子模塊來實現它。 將一個存儲庫視為 mainRepo,將另一個存儲庫視為 subRepo。

  1. 基於mainRepo並在其中git submodule add subRepo's_URL ,使用git submodule add subRepo's_URL
  2. 只需對您想要的文件進行更改。 您無需注意文件來自哪個存儲庫
  3. 在本地 mainRepo 中,使用git commit –a –m 'input your comment' ,然后可以提交來自 mainRepo 的修改過的文件
  4. 在 subRepo ( 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM