Git 从visualstudioonline中的多个职责构建

Git 从visualstudioonline中的多个职责构建,git,visual-studio,azure-devops,Git,Visual Studio,Azure Devops,我得到了一些依赖于另一个解决方案中的项目的VisualStudio解决方案,我们称之为Utils项目 在VisualStudio中,Utils项目根据它添加到解决方案中,并且一切正常 然而,这意味着Utils项目必须可用于成功构建,这是一个问题,因为它们处于不同的职责范围。在本地,我们只需记住克隆/拉取两个存储库就可以处理它,但我在VisualStudioOnline中找不到这样做的方法 我知道有一些方法可以创建二进制依赖项,而不是我在其他情况下使用过的项目依赖项(例如NuGet、将Utilsa

我得到了一些依赖于另一个解决方案中的项目的VisualStudio解决方案,我们称之为
Utils
项目

在VisualStudio中,
Utils
项目根据它添加到解决方案中,并且一切正常

然而,这意味着
Utils
项目必须可用于成功构建,这是一个问题,因为它们处于不同的职责范围。在本地,我们只需记住克隆/拉取两个存储库就可以处理它,但我在VisualStudioOnline中找不到这样做的方法

我知道有一些方法可以创建二进制依赖项,而不是我在其他情况下使用过的项目依赖项(例如NuGet、将
Utils
assembly添加到存储库)。如果我们是有组织的,并且有
utils
项目等的“发布版”,这将是可行的,但不幸的是,在这种情况下,它不是这样工作的。 工作流更像是“我需要你已经拥有的东西,你能把它移到Utils项目吗?”

我研究了git子模块和子树,但它们似乎太容易搞乱

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

我需要的是这样一句话:“克隆/拉取此存储库时,还要克隆/拉取另一个存储库”。 有这样的事吗

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

为什么你认为他们“太容易搞砸”

子模块功能直接内置于Git中,旨在完成您正试图完成的任务—从repo的子文件夹中引用另一个远程repo,并以您可以指定的两种不同方式从中获取

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

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

为什么你认为他们“太容易搞砸”

子模块功能直接内置于Git中,旨在完成您正试图完成的任务—从repo的子文件夹中引用另一个远程repo,并以您可以指定的两种不同方式从中获取


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

首先,git子模块是一种好方法


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

首先,git子模块是一种好方法

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