代码之家  ›  专栏  ›  技术社区  ›  JMarsch

删除TFS分支中的合并历史记录

  •  1
  • JMarsch  · 技术社区  · 15 年前

    假设我有一个主分支和一个开发分支。 假设我把dev的一些东西合并到main中。

    • 我登记合并
    • 现在我决定“哎呀,开发部门还没有真正准备好让我合并到主系统中。”
    • 我想告诉tfs:从main中删除那个更改集,然后忘记合并曾经发生过。

    回滚变更集非常简单——我可以使用tfs powertools rollback命令。在主分支上(带有/changeset/recursive标志)

    但是,我将从回滚中得到一个警告,即文件的合并历史记录尚未删除。

    影响:稍后,当dev准备合并到main中时,先前回滚的文件中的更改不会合并到main中(这是因为tfs“认为”这些合并已经完成)。

    我的目标是: 当我回滚时,让tfs删除合并历史记录,这样当我稍后将dev合并到main中时,所有内容都会合并。

    我该怎么做?

    顺便说一句:我正在使用TFS 2008 SP1

    2 回复  |  直到 13 年前
        1
  •  2
  •   Robaticus    15 年前

    TFS 2008中的回滚并不是那么好。它实际上是对以前版本的重新签入。由于您丢失了合并历史记录,您可能需要 /force 下次执行合并时从命令行进行合并。那 应该 让它忽略上一个合并历史存在的事实。

        2
  •  1
  •   Brandon Hawbaker    13 年前

    我也遇到了类似的问题。我认为tf.exe合并/放弃选项可能对您有所帮助。这允许您执行文件的假合并,并在不实际执行合并的情况下从合并历史记录中删除更改。

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

    推荐文章