来自多个git存储库的

时间:2016-11-11 11:32:11

标签: git visual-studio version-control solution-explorer

我们在GIT上有两个不同的存储库,它们需要结合在一起才能在Visual Studio中形成解决方案。每个项目下的文件可能来自两个不同的回购。我需要确保当我进行更改时,它会更新正确仓库中的更改(也就是说,其他仓库根本不应该感知它),并且还可以选择将新文件添加到特定仓库。 如果能够完成,怎么能实现呢?

2 个答案:

答案 0 :(得分:6)

您可以使用子模块来实现它。将一个repo视为mainRepo,将另一个repo视为subRepo。

  1. 根据mainRepo并在其中添加subRepo,使用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中的已修改文件。
  5. 这可能与您想到的不同,但它确实可以帮助您从中更新您想要更新更改的正确仓库。 有关子模块的更多详细信息,请参阅here

答案 1 :(得分:0)

使用Project Manager扩展程序现在很容易。 (至少在Visual Studio Code中是正确的,我怀疑在VS中是正确的,因为VS是VSC的超集)

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

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

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

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

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

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

然后将该文件夹另存为“项目” 此时,您应该将存储库“克隆”到顶级项目文件夹内的文件夹中。您将存储库克隆到一个新位置,因为移动存储库是痛苦的事情,除了造成麻烦之外,什么都没有。

将每个克隆的存储库另存为“工作区”

这时,您有一个包含两个工作区的“项目”。

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

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

希望这会有所帮助。