从visualstudioonline中的多个存储库构建

时间:2017-09-25 17:48:29

标签: git visual-studio azure-devops

我有一些视觉工作室解决方案依赖于另一个解决方案中的项目,我们称之为Utils项目。

在Visual Studio中,Utils项目会根据它添加到解决方案中,一切正常。

然而,这意味着Utils项目必须可用于成功构建,这是一个问题,因为它们位于不同的存储库中。在本地我们可以通过记住克隆/拉取两个存储库来处理它,但我无法在VisualStudioOnline中找到一种方法。

我知道有一些方法可以创建二进制依赖项而不是项目依赖项(例如NuGet,将Utils程序集添加到存储库),这在其他情况下已经使用过。如果我们有条理并且发布了#34;这将会有效。 utils项目等等,但不幸的是,在这种情况下它不起作用。 工作流程更像是"我需要你已经拥有的东西,你能把它移到Utils项目吗?"。

我查看了git子模块和子树,但它们似乎太容易搞砸了。

不需要跟踪父项目中Utils项目的版本。最新版本很好。 (如果我确实需要编译一个确切的版本,我将从两个存储库中手动选择提交)

我需要的是:"克隆/拉动此存储库时,还克隆/拉取其他存储库" 。 有这样的事吗?

2 个答案:

答案 0 :(得分:0)

  

我查看了git 子模块和子树,但它们似乎太容易搞砸了。 [强调添加]

为什么你认为他们“太容易陷入困境”?

子模块功能内置于Git中,旨在完成您要执行的操作 - 从您的repo的子文件夹中引用另一个远程仓库,并以您可以指定的几种不同方式从中获取。

如果utils项目确实是一个文件夹或一组文件夹,其中包含大量定期更新的项目,我看不到更好的方法来实现这一目标,这样您不仅可以获得最新版本(utils中的集合项目),还可以跟踪您的utils仓库并将其还原或指向任何给定仓库中的特定提交/标记(与每个仓库不同) /在将来需要时。

答案 1 :(得分:0)

首先,git子模块是好方法。

其次,您可以通过命令行或PowerShell任务调用git clone命令来克隆其他存储库。 (不支持在Get source步骤中克隆/拉取其他存储库)