我有一些视觉工作室解决方案依赖于另一个解决方案中的项目,我们称之为Utils
项目。
在Visual Studio中,Utils
项目会根据它添加到解决方案中,一切正常。
然而,这意味着Utils
项目必须可用于成功构建,这是一个问题,因为它们位于不同的存储库中。在本地我们可以通过记住克隆/拉取两个存储库来处理它,但我无法在VisualStudioOnline中找到一种方法。
我知道有一些方法可以创建二进制依赖项而不是项目依赖项(例如NuGet,将Utils
程序集添加到存储库),这在其他情况下已经使用过。如果我们有条理并且发布了#34;这将会有效。 utils
项目等等,但不幸的是,在这种情况下它不起作用。
工作流程更像是"我需要你已经拥有的东西,你能把它移到Utils项目吗?"。
我查看了git子模块和子树,但它们似乎太容易搞砸了。
不需要跟踪父项目中Utils
项目的版本。最新版本很好。 (如果我确实需要编译一个确切的版本,我将从两个存储库中手动选择提交)
我需要的是:"克隆/拉动此存储库时,还克隆/拉取其他存储库" 。 有这样的事吗?
答案 0 :(得分:0)
我查看了git 子模块和子树,但它们似乎太容易搞砸了。 [强调添加]
为什么你认为他们“太容易陷入困境”?
子模块功能内置于Git中,旨在完成您要执行的操作 - 从您的repo的子文件夹中引用另一个远程仓库,并以您可以指定的几种不同方式从中获取。
如果utils
项目确实是一个文件夹或一组文件夹,其中包含大量定期更新的项目,我看不到更好的方法来实现这一目标,这样您不仅可以获得最新版本(utils
中的集合项目),还可以跟踪您的utils
仓库并将其还原或指向任何给定仓库中的特定提交/标记(与每个仓库不同) /在将来需要时。
答案 1 :(得分:0)
首先,git子模块是好方法。
其次,您可以通过命令行或PowerShell任务调用git clone命令来克隆其他存储库。 (不支持在Get source步骤中克隆/拉取其他存储库)