TFS-如何在不合并的情况下将代码升级到prod分支

TFS-如何在不合并的情况下将代码升级到prod分支,tfs,Tfs,我们有3个TFS分支–开发、测试和生产。 TFS作为源代码管理很适合我们,只要我们经常签入并获取最新信息。合并规模很小,我们可以立即解决任何问题。我们知道,如果我们不每天这样做,那么合并代码将是痛苦的 但是当我们准备推广到另一个分支时,代码已经发生了巨大的变化。我们不希望在目标分支中保留任何代码,我们确实希望源版本的精确副本,而不是合并 我们确实喜欢有3个分支,以便为每个部署/升级中的完整更改集保留更改集 我看不到TFS中有任何方法可以实现这个非常常见的功能。我一直在使用两种变通方法: 如果只有

我们有3个TFS分支–开发、测试和生产。 TFS作为源代码管理很适合我们,只要我们经常签入并获取最新信息。合并规模很小,我们可以立即解决任何问题。我们知道,如果我们不每天这样做,那么合并代码将是痛苦的

但是当我们准备推广到另一个分支时,代码已经发生了巨大的变化。我们不希望在目标分支中保留任何代码,我们确实希望源版本的精确副本,而不是合并

我们确实喜欢有3个分支,以便为每个部署/升级中的完整更改集保留更改集

我看不到TFS中有任何方法可以实现这个非常常见的功能。我一直在使用两种变通方法:

  • 如果只有一个用户从一个分支合并到下一个分支,TFS确实会复制所有更改。但如果用户与上次尝试升级的用户不同,则TFS将合并代码
  • 我已签出目标分支的本地副本的整个解决方案。然后将源分支文件夹的文件系统副本复制到目标分支文件夹中。然后签入解决方案

  • 有正确的方法吗?

    正确的合并方法是:-

  • 设置包含两个分支的共享工作区(如果您还没有分支)
  • 获取最新的
    目标
    分支代码
  • 获取最新的
    源代码
    分支代码
  • 使用最新版本和对特定版本的所有更改,将
    合并到
    目标
  • 将您的更改提交到源
  • 若要在发生冲突时覆盖目标,若要确保目标被明确覆盖,请在“冲突”窗口中选择“选择源版本”

  • 当我按照上面答案中的步骤操作时,我有机会在“冲突”窗口中仅为一个文件合并冲突。我还得到许多自动解决的冲突,这是我不想要的。自动合并的一个例子是源分支类中的3个新属性没有到达目标分支。我甚至没有将更改提交到源代码,因为我知道它缺少一些新代码。有没有办法配置TFS以允许选择在冲突窗口中合并每个冲突?我发现分支和合并有很多原因,我将在开发和测试准备发布到生产环境中的稳定分支时使用这些原因。我还需要一种安全的方法来获取准备发布的代码,并按照向下合并、向上复制的原则将其作为副本而不是合并进行升级。如果TFS不提供复制选项,那么我将继续使用解决方案。为什么您的分支之间存在巨大差异?Dev应该是QA+,QA应该是Prod+。。。您不应该从Dev->QA->Prod推送冲突。如果您这样做,您的工作流将被破坏。