我们在 Git 上有两个不同的存储库,需要将它们组合在一起才能在 Visual Studio 中形成解决方案。
每个项目下的文件可能来自两个不同的存储库。我需要确保当我进行更改时,它会更新正确存储库中的更改(也就是说,其他存储库根本不应该感知到它),并且还为我提供了将新文件添加到特定存储库的选项。
如果可以的话,如何才能实现这一点?
可以使用子模块来实现。将一个存储库视为 mainRepo,将另一个存储库视为 subRepo。
git submodule add subRepo’s_URL
git commit –a –m ‘input your comment’
,然后可以提交mainRepo中修改的文件cd [subRepoFolderName]
) 中,您还可以使用 git commit –a –m ‘input your comment’
,因此可以提交 subRepo 中修改的文件。这可能与您想象的不同,但它确实可以帮助您从哪个存储库中更新您想要更新的更改。
有关子模块的更多详细信息,您可以参考这里。
我只是想看看使用多个存储库是否可行,所以我不知道答案。 然而,这是一个老问题,我发现这可能有助于更新答案:
现在使用项目管理器扩展变得很容易。 (至少在 Visual Studio Code 中是这样,我怀疑在 VS 中也是这样,因为 VS 是 VSC 的超集)
这是我在 VS Code 中所做的,在 Visual Studio 中应该类似
假设您设置了一个 Git 类型的存储库,并且项目的每个部分都有一个单独且不同的顶级存储库,并且必须保持不同。
在 GitHub(或类似的)中,您创建所需的两个存储库并根据需要导入文件。
如果本地开发计算机上已存在存储库/工作区,请确保存储库完全是最新的。
在 Visual Studio 代码中安装项目管理器扩展。
在开发计算机上,为整个项目创建一个“顶级”文件夹,然后在 VSC 中打开该文件夹。
然后将该文件夹另存为“Project” 此时,您应该将存储库“克隆”到顶级项目文件夹内的文件夹中。 您将存储库克隆到新位置,因为移动存储库是一件痛苦的事情,只会带来麻烦。
将每个克隆的存储库保存为“工作空间”
此时,您已经有了一个包含两个工作区的“项目”。
根据需要将未克隆的任何文件夹/文件移动到新的存储库位置。
完成所有这些后,(实际上比听起来更容易),您可以将两个存储库作为独立对象访问,提交到正确的存储库,但您可以并行处理它们,(某种程度上)如果你希望。 您可以通过在新窗口中打开第二个工作区来完成此操作。
希望这有帮助。