2016-04-25 68 views
1

团队的1名成员发生了错误的合并,但他尚未提交。他正在一个分支上工作。TFS - 如何通过使用Checkout进行编辑来覆盖文件?

TRUNK的当前版本是正确的,但是当我从TRUNK合并到BRANCH时,它不更新分支,因为在合并期间,选择了错误的版本作为正确版本。

我该如何解决这个问题?

我正在考虑“检查编辑”项目的所有文件,如覆盖所有行,所以当我尝试从TRUNK更新BRANCH时,合并会再次发生,但是当我做到这一点时,它会抛出这个错误:

All of the changes were either unmodified files or locks. The changes have been undone by the server.

+0

它不清楚究竟发生了什么。团队成员是否从树干合并到其分支?他们还没有检查合并?并且您现在正在尝试执行相同的合并,并且更改未被TFS检测到,因为它认为它们已经合并了?需要更多的细节来了解。 –

回答

0

对于你的情况,因为错误的合并没有提交。您可以使用此tf merge /discard命令从此合并中放弃更改集。

/discard
Does not perform the merge operation, but updates the merge history to track that the merge occurred. This discards a changeset from being used for a particular merge.

一个例子丢弃变更集137为候选人合并到BRANCH2:

c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive 

更多关于命令的详细信息,你可以参考从MSDN链接:Merge Command


更新

由于分支中有合并过程。用新合并覆盖原始合并是不可能的。您必须丢弃合并或提交合并。如果放弃合并,则可以直接将新功能提交到主分支。如果您提交合并,由于选择了错误的版本作为正确的版本,您可以在合并期间选择Selected changesets。如果选择了Selected changesets,则会显示选择要合并到目标分支页面的更改集。选择要合并的变更集。

+0

我不能简单地放弃这些更改,因为此分支上已经实现了一项新功能:P。不管怎样,谢谢你。 – Seva

+0

由于分支中有合并过程。用新合并覆盖原始合并是不可能的。您必须丢弃合并或提交合并。如果放弃合并,则可以直接将新功能提交到主分支。如果您提交合并,由于选择了错误版本作为正确版本,您可以在合并期间选择“选择变更集”。如果选择了“选定变更集”,则会显示选择变更集以合并到目标分支页中。选择要合并的变更集。 –

相关问题