2017-09-25 62 views
1

我获得了一些的Visual Studio解决方案,取决于另一个解决方案项目,让我们把它叫做Utils项目。大厦visualstudioonline

在Visual Studio中Utils项目被添加到依赖它的解决方案,一切工作正常。

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

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

我看着git的子模块和子树,但他们似乎太容易陷入困境。

不要有需要跟踪Utils项目的版本在父项目。最新版本没问题。 (我只手拿起从两个库提交如果我确实需要编写一个确切的版本)

我需要的东西,说:“克隆当/拉这个仓库,还克隆/拉其他库”。 有这样的事吗?

回答

0

我看着混帐子模块和子树但他们似乎太容易陷入困境。[添加重点]

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

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

如果utils项目是一个真正的文件夹或一组文件夹,并且有很多项目会定期更新,但是我没有看到更好的方法来做到这一点,这不仅让您获得最新版本(在utils中的集体项目),但也追踪你的utils回购和回复它或指向任何特定的回购(不同于每一个)如果/当将来需要时的特定提交/标签。

0

首先,git submodules是个好方法。

其次,您可以通过命令行或PowerShell的任务调用的git clone命令克隆其他仓库。 (不支持克隆/拉取其他仓库)