TFS Git项目VNEXT生成中的依赖项项目
这更像是一个最佳实践问题,因为我们已经有了一个解决方案,但我很好奇是否有更好的方法来解决这个问题 我们的项目分为1个巨大的基础项目,所有其他项目都依赖于此和子项目。因此,在构建子项目时,我还需要检查该子项目。在TFSVC构建中,这可以在构建定义的“源”选项卡上实现,在该选项卡上,您可以精确地指定希望构建代理为您获取的项目 在git(和VNEXT)中,这个选项卡不存在了,取而代之的是,只有指定当前存储库的分支的选项。我们通过向每个项目添加一个powershell脚本来解决这个问题,该脚本只运行“git clone mainproject”,并提供与以前相同的效果 然而,如果我们的主项目URL发生变化,这将意味着我们必须在每个客户项目中更改此脚本,这(虽然不是不可能的)将是乏味的TFS Git项目VNEXT生成中的依赖项项目,git,tfs,build,asp.net-core,Git,Tfs,Build,Asp.net Core,这更像是一个最佳实践问题,因为我们已经有了一个解决方案,但我很好奇是否有更好的方法来解决这个问题 我们的项目分为1个巨大的基础项目,所有其他项目都依赖于此和子项目。因此,在构建子项目时,我还需要检查该子项目。在TFSVC构建中,这可以在构建定义的“源”选项卡上实现,在该选项卡上,您可以精确地指定希望构建代理为您获取的项目 在git(和VNEXT)中,这个选项卡不存在了,取而代之的是,只有指定当前存储库的分支的选项。我们通过向每个项目添加一个powershell脚本来解决这个问题,该脚本只运行“g
有没有人有过类似的经验并找到了更好的方法?您可以将您的主项目作为添加到其他每个项目中
cd /path/to/otherproject
git submodule add -b master -- https://url/of/main/project
另一个项目的git克隆--递归的也会自动克隆主项目和子目录。
如“”中所述,主项目子模块将在每次git子模块更新--remote
时跟踪其最新的上游回购主分支
因为,您需要返回到命令行
注:如上所述:
TFS在一个团队项目中支持多个存储库。没有必要将每件事都放在自己的团队项目中。
这实际上与当前的项目组织指南背道而驰
这意味着每个项目都有一个子模块的想法虽然是有效的“git”解决方案,但在TFS环境中可能不是最好的
Daniel提到了中的博客文章“”,那么,我只是在用一个脚本替换另一个脚本。尤其是由于子模块链接到提交,因此每次都需要升级。@不,您可以将子模块链接到分支(,而且:git子模块更新--remote--recursive
会自动将子模块更新到分支的最新版本。就是这样!谢谢大家!@潜艇我编辑了答案,以使-b master
选项在使用子模块时更加可见。还值得注意的是,TFS支持一个团队项目中的多个存储库。没有必要将每件事都放在自己的团队项目中。这实际上与当前的项目组织指南背道而驰。