2015-06-02 16 views
0

对不起,如果之前已询问过此问题,但我一直在寻找一段时间并找不到此问题的答案。TFS2010 - 合并不会在新文件更改目标时提取差异

我们有“Main”和“Dev”分支 - “Main”是第一个,然后我们将“Main”(父)分支到“Dev”(孩子)。在“开发”中进行了开发更改,但现在我们要实际上将“开发”中的这些更改“回滚”到较老的“主”中。但是,当我从“Main”到“Dev”运行合并时,对于两个分支中都存在的文件,它没有注意到“Dev”中的任何新更改都是差异。我期望的是合并会注意到每个文件都有差异,无论这种差异是否是由于目标分支中发生的新更改造成的。这是不切实际的期望吗?

我已经到了一个地步,我相信我唯一的办法是使用不同的“差异”工具来告诉我每个文件在“主要”和“开发”之间的差异,然后逐个文件地强制从较旧的“Main”文件合并到较新的“Dev”文件 - 以覆盖“Dev”中的内容。

有没有办法让标准TFS合并做我想做的 - 并显示每个文件在“主要”和“开发”之间的差异,并为每个文件弹出冲突对话框并允许我选择如何合并?

感谢您的任何帮助。

+0

这看起来与您所描述的非常相似,但您需要使用命令行tf.exe:http://stackoverflow.com/questions/2092863/tfs-overwrite-a-branch-with-another – rerwinX

回答

0

如果您想要将开发回滚到与main相同的状态,只需删除Dev并为Dev创建一个新分支。

如果您想保留Dev中的内容,请为main创建一个Dev的新分支。

要获得差异,需要在Dev和main之间进行合并,因为更改位于Dev中。

这里还有一个内置的差异在TFS中。在源代码资源管理器中,您应该在屏幕顶部看到一个差异图标。