2011-11-11 39 views
5

我们在TFS2010中遇到了文件合并问题。到现在为止,我们将文件从一个分支合并到另一个分支而没有问题(右键单击文件 - >合并 - >选择目标分支和合并文件)。最初,我们在Develop分支添加了新文件,然后在Main分支添加了相同的文件。经过一段时间后,我们在Develop分支的代码发生了变化,当试图与Main分支合并时,无法看到Target(Main)分支。我有两个关于这种情况的问题:TFS - 在执行文件时看不到目标分支合并

  1. 这是在TFS上传新文件的好方法。在两个分支单独添加文件,或者有一些更好的做法,我们可以将新文件添加到Develop分支,然后在Main上复制该文件?

  2. 在合并操作过程中'隐藏'目标分支的原因是什么?

当试图解决这个问题,我发现了一些文章,可以给别人有用,但对我来说并没有解决问题:

TFS not showing Dev branch in target locations for merging

How to merge new files into another branch in TFS?

http://revweblog.wordpress.com/2010/03/31/missing-target-branch-while-trying-to-merge-in-tfs-baseless-merge/

TnX提前!

维迪奇

回答

2

我想你应该仔细看的情况下this,这是你已经提到的情况。

对于你的第一个问题:
不,你多次提交新文件的方法不是最优的。
不止一次向源代码控件(任何源代码控件)添加新文件是没有意义的。

回到第二个问题:
此行为背后的原因最好由AakashM在上面的帖子中解释:“在TFS中,变更单位是变更集,它是检入的变更集(不是文件)合并,在目标分支所在的版本(变更集编号)中,该文件根本不存在,因此没有任何合并。“

正确的操作方法是在'Development'分支中添加新文件,然后合并到'Main'分支中。
如果右键单击新添加的文件&,则选择“合并..”(不会显示目标分支)。如果在包含新文件的文件夹中执行此操作,将会显示此内容。

+0

TnX pantelif!这解决了我们的问题。我们无法合并新文件,因为我们试图通过右键单击文件而不是分支来完成。现在我们遇到了这样一种情况,那就是以前的变更集和当时“新增”的文件都显示在“已选择的变更集”列表中,但我们无法再将它们合并到签入变更中,因为我们有新的签入和修改这些文件在初始变更集之后。我们如何“清理”这些信息,例如,从这一刻起,我们只能看到变化? –

+0

当你现在尝试从源合并到目标分支不TFS抱怨冲突?如果您选择在“冲突”选项卡中选择“目标”版本,则应该一劳永逸地处理此问题。 – pantelif

0

我有这个问题,当我为主要分支我没有最新的代码。我接受了主分公司最新的代码,然后尝试合并到开发分支,它工作。