缺少新文件的TFS合并问题

时间:2015-11-30 06:04:52

标签: tfs merge visual-studio-2015

我之前遇到过这个问题,没有想太多,但是它变得相当乏味。

我们有以下内容。主分支,这是我们的用户正在使用的稳定版本。我们有一个开发分支,它托管我们可以立即发布的修复程序。然后我们有我们的功能分支,它们具有WIP功能。为简单起见,我将继续讨论后两个 - 开发和名为Quoting的功能分支。

Structure

Quoting分支已经完成了它的功能。它已将开发分支合并到其中,所有冲突都已在引用分支上解决。现在,我们有最新的引用分支,以及开发分支的最新工作。总而言之,只有20-30个文件发生变化。

Differences One Differences Two

所以我即将合并回开发分支,并按照提示进行操作 - 非常简单:

Prompt 1 Prompt 2

现在我在这里遇到了一些障碍。我得到的列表中包含的变化远远高于30;几乎每个文件都被合并了!

Pending Changes

所以我按照StackOverflow post建议右键单击并撤消更改,但在确认对话框中按No To All会有所帮助。不幸的是,我跳过了This works when you only have changes to files. It will not merge any NEW files that you have added的评论。

所以我的问题是,如何获取所有实际的待处理更改,而不必逐项检查并排除我已经处理的内容,因此我可以撤消待处理的更改并重新包含我的变化,只是做一个合并?这可能是因为我根据StackOverflow和Web上的一些注释重命名了分支这一事实,即使层次结构完全相同吗?

1 个答案:

答案 0 :(得分:1)

实际上,这是由重命名的分支引起的。当您在源代码管理中重命名分支时,它将删除上一个分支并创建一个新分支。即使层次结构完全相同,但分支也是不同的。您可以通过"在源代码管理"中显示已删除的项目来查看旧分支。

enter image description here对于这种情况,将主分支更改为Main123分支

因此在TFS中,它显示未更改文件的[merge]状态,并显示实际更改的文件的[merge,edit]状态,并显示新添加项目的[merge branch]。

对于您的情况,没有更好的方法可以简单地进行合并。 此外,强烈建议您不要直接重命名分支,除非这确实是必要的。这也会搞乱你的变更集历史。你最好创建一个具有战略历史的新分支。