来自多个 Git 存储库的 Visual Studio 解决方案

问题描述 投票:0回答:3

我们在 Git 上有两个不同的存储库,需要将它们组合在一起才能在 Visual Studio 中形成解决方案。

每个项目下的文件可能来自两个不同的存储库。我需要确保当我进行更改时,它会更新正确存储库中的更改(也就是说,其他存储库根本不应该感知到它),并且还为我提供了将新文件添加到特定存储库的选项。

如果可以的话,如何才能实现这一点?

git visual-studio version-control solution-explorer
3个回答
14
投票

可以使用子模块来实现。将一个存储库视为 mainRepo,将另一个存储库视为 subRepo。

  1. 基于mainRepo并在其中添加subRepo,使用
    git submodule add subRepo’s_URL
  2. 只需对您想要的文件进行更改即可。您无需关注文件来自哪个存储库
  3. 在本地mainRepo中,使用
    git commit –a –m ‘input your comment’
    ,然后可以提交mainRepo中修改的文件
  4. 在 subRepo (
    cd [subRepoFolderName]
    ) 中,您还可以使用
    git commit –a –m ‘input your comment’
    ,因此可以提交 subRepo 中修改的文件。

这可能与您想象的不同,但它确实可以帮助您从哪个存储库中更新您想要更新的更改。

有关子模块的更多详细信息,您可以参考这里


0
投票

我只是想看看使用多个存储库是否可行,所以我不知道答案。 然而,这是一个老问题,我发现这可能有助于更新答案:

Visual Studio 中的多存储库支持


-3
投票

现在使用项目管理器扩展变得很容易。 (至少在 Visual Studio Code 中是这样,我怀疑在 VS 中也是这样,因为 VS 是 VSC 的超集)

这是我在 VS Code 中所做的,在 Visual Studio 中应该类似

假设您设置了一个 Git 类型的存储库,并且项目的每个部分都有一个单独且不同的顶级存储库,并且必须保持不同。

在 GitHub(或类似的)中,您创建所需的两个存储库并根据需要导入文件。

如果本地开发计算机上已存在存储库/工作区,请确保存储库完全是最新的。

在 Visual Studio 代码中安装项目管理器扩展。

在开发计算机上,为整个项目创建一个“顶级”文件夹,然后在 VSC 中打开该文件夹。

然后将该文件夹另存为“Project” 此时,您应该将存储库“克隆”到顶级项目文件夹内的文件夹中。 您将存储库克隆到新位置,因为移动存储库是一件痛苦的事情,只会带来麻烦。

将每个克隆的存储库保存为“工作空间”

此时,您已经有了一个包含两个工作区的“项目”。

根据需要将未克隆的任何文件夹/文件移动到新的存储库位置。

完成所有这些后,(实际上比听起来更容易),您可以将两个存储库作为独立对象访问,提交到正确的存储库,但您可以并行处理它们,(某种程度上)如果你希望。 您可以通过在新窗口中打开第二个工作区来完成此操作。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.