我们已开始尝试在TFS中进行分支,以便为Dev,Production和QA保留单独的分支,但我遇到了以下问题:
我们有两个不同的解决方案,它们共享一些公共类,我们通过使用VS的“添加为链接”功能来处理这个问题,在我在第一个解决方案的开发分支中检查一个类之后进行分支时,它会检查出来我们第二个解决方案的Production分支中的相同(链接)文件。
通过从第一个解决方案中删除文件然后再次将其添加为链接文件,我找到了解决方法,但这次使用了第二个解决方案的Dev(或相应)分支中的文件。但这是很多手工工作,因为我们有100多个班级和3个分支。
有人能建议更好地解决这个问题吗?
答案 0 :(得分:3)
不要通过在项目之间链接代码文件来共享代码。将共享功能封装在公共项目中,并通过直接项目引用或通过包管理器(如NuGet)在依赖项目之间共享项目。后者在版本控制方面提供了更大的灵活性,但需要更多的努力。
此外,如果没有更多上下文,我无法肯定地说,但通过分支隔离代码通常是一种不好的做法。理想情况是,您可以通过发布/部署过程将单个版本的软件部署到部署管道中的每个环境。在分支中隔离代码会鼓励您为每个环境构建一次,这会破坏您之前的所有测试 - 您从“生产”分支构建和部署的代码不一定与您刚从“QA”测试的内容相同科。