【问题标题】:Why TFS Merge merges all files although they have not been changed为什么 TFS Merge 会合并所有文件,尽管它们没有被更改
【发布时间】:2015-06-05 00:50:53
【问题描述】:

我在 tfs 中有开发和发布分支。

发布版本后,我仅将发布分支用于关键修复

在每次发布之前,我想用 Dev 分支覆盖在 Release 分支中所做的所有更改。之后 Release 和 Dev 分支应该是相等的。

我正在使用以下命令:

tf merge DEV RELEASE -r -force -version:1~T -noprompt
tf resolve RELEASE -r -auto:acceptTheirs

问题是,所有文件都处于“合并”更改的挂起更改中。签入后,我也在文件的 tfs 历史记录中看到了这一点。

这是正确的方法吗?我应该做不同的事情吗,例如只签入上一个版本的变更集?有副作用吗?

【问题讨论】:

  • 为什么要使用命令行?
  • -force 参数强制所有文件合并,无论更改如何。

标签: tfs merge


【解决方案1】:

您正在使用 -force 参数。那是那个 c 命令的结果。

“忽略合并历史并将指定的更改从源合并到目标,即使之前已合并部分或全部这些更改”

https://msdn.microsoft.com/en-us/library/bd6dxhfy(v=vs.100).aspx

如果您删除 -force 选项,它只会合并更改。

【讨论】:

  • 如果我删除强制选项,我可以确保发布分支与开发分支相同吗?发布分支中的所有更改都必须被最后一个开发源覆盖,即使自上次合并以来开发没有被更改
  • 你不能同时拥有它。你要么像其他人一样正常合并。或者您使用 -force 选项,它会忽略以前合并的历史记录。只要您一直有分支关系,或者之前至少使用过一次 -force 或进行过无根据的合并,您就可以进行正常的合并,并且上次合并的所有更改都将通过。
猜你喜欢
  • 2020-12-23
  • 2023-04-09
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-03-28
  • 2016-12-13
  • 1970-01-01
  • 2021-08-10
相关资源
最近更新 更多