【问题标题】:How can I prevent automerge on specific files如何防止特定文件的自动合并
【发布时间】:2015-03-28 16:25:03
【问题描述】:

我们目前在 TFS 2013 中运行多个分支:

Development
Release
Trunk
etc.

每个分支都有一个自动化测试版本。这些构建的目的是将每个分支的最新代码(和数据库更改)发布到我们的测试服务器以进行手动测试。我们为每个分支维护一个单独的 IIS 应用程序,以便可以同时测试不同的版本。

每个分支都有独特的 .csproj、.xml 配置文件和 web.config 设置,这些设置控制每个分支部署到的应用程序和数据库,效果很好。

但是,当我们从一个分支合并到另一个分支时,自动合并会替换这些特定于分支的设置,从而导致我们将测试版本部署到错误的 URL 和数据库。

我知道可以在 Visual Studio 设置中完全禁用自动合并,但除了特定文件之外,我们是否可以继续使用自动合并?

欢迎提出建议

【问题讨论】:

    标签: visual-studio-2013 tfs build merge


    【解决方案1】:

    您可以在合并期间禁用自动冲突解决,但在这种情况下,您必须手动解决这些冲突(忽略)

    选项 -> 源代码管理 -> Visual Studio Team Foundation Server 尝试在生成冲突时自动解决冲突

    或者您可以使用 tf.exe 进行合并:

    tf.exe merge /discard CS
    

    使用将始终从合并中丢弃的变更集。

    【讨论】:

      【解决方案2】:

      这是任何代码提升模型的一个众所周知的问题。我建议您改用二元促销模式。

      http://nakedalm.com/building-release-pipeline-release-management-visual-studio-2013/

      使用二进制提升模型,您只需使用可替换的参数构建位,然后创建或使用一个工具来协调发布并为每个环境提供正确的变量。

      http://nakedalm.com/create-release-management-pipeline-professional-developers/

      我最近使用 VSO 构建了一个端到端场景。您可以在帖子中看到每个环境的值的传递。

      软件行业正在朝着持续交付和持续集成的方向发展。在代码提升模型中,这两者都不可能。

      【讨论】:

        猜你喜欢
        • 2011-07-11
        • 1970-01-01
        • 1970-01-01
        • 2021-12-05
        • 2019-03-28
        • 2013-08-05
        • 2016-03-10
        • 2023-03-16
        • 2016-01-12
        相关资源
        最近更新 更多