Version control 多个项目的源代码结构
背景: 3-5名程序员使用TFS。我们支持传统应用程序以及构建新应用程序。我正在实施持续交付的要素,我希望有一个良好的结构开始。目前,应用程序之间的相互依赖性很小,但将来会有一些共享组件 我计划实现一个“单主干”分支策略(换句话说,没有分支),除了极少数需要长功能分支的情况——我将努力确保永远不会发生这种情况 问题: 鉴于此,哪种源代码结构更好?为什么?选择其中一种(工作区等)是否会产生重大影响 单一主支路 与每个应用程序的主分支相比Version control 多个项目的源代码结构,version-control,tfs,continuous-integration,branching-and-merging,continuous-deployment,Version Control,Tfs,Continuous Integration,Branching And Merging,Continuous Deployment,背景: 3-5名程序员使用TFS。我们支持传统应用程序以及构建新应用程序。我正在实施持续交付的要素,我希望有一个良好的结构开始。目前,应用程序之间的相互依赖性很小,但将来会有一些共享组件 我计划实现一个“单主干”分支策略(换句话说,没有分支),除了极少数需要长功能分支的情况——我将努力确保永远不会发生这种情况 问题: 鉴于此,哪种源代码结构更好?为什么?选择其中一种(工作区等)是否会产生重大影响 单一主支路 与每个应用程序的主分支相比 根据我的经验,我发现对于具有单独开发周期的事物,最好使用单独
根据我的经验,我发现对于具有单独开发周期的事物,最好使用单独的分支 如果您要将它们作为一个单独的包一起发布,并且它们是作为一个单独的产品开发的,那么单个主分支更合适
如果每个应用程序可能在不同的时间发布,那么每个应用程序的主分支似乎更合适。根据我的经验,我发现对于具有不同开发周期的事物,最好使用不同的分支 如果您要将它们作为一个单独的包一起发布,并且它们是作为一个单独的产品开发的,那么单个主分支更合适
如果每个应用程序可能在不同的时间发布,那么每个应用程序的主分支似乎更合适。我喜欢在单个主分支中开发所有代码。然后使用配置设置基本上禁用模块进行生产,并启用它进行测试,直到它准备好发布。附加的好处是模块(DLL)已经打包好用于发布,因为您很早就发布了,而且经常发布。我喜欢在一个主分支中开发所有代码。然后使用配置设置基本上禁用模块进行生产,并启用它进行测试,直到它准备好发布。附加的好处是,模块(DLL)已经打包好用于发布,因为您可以尽早且经常发布
$/MAIN/src/ApplicationA/ApplicationA.sln
$/MAIN/src/ApplicationA/Project1.csproj
$/MAIN/src/ApplicationA/Project2.csproj
$/MAIN/src/ApplicationB/...
$/MAIN/src/SharedModule/...
$/ApplicationA/MAIN/src/ApplicationA.sln
$/ApplicationA/MAIN/src/Project1.csproj
$/ApplicationA/MAIN/src/Project2.csproj
$/ApplicationB/MAIN/src/...
$/SharedModule/MAIN/src/...