【问题标题】:How to partially undo a TFS checkin across multiple solutions如何跨多个解决方案部分撤消 TFS 签入
【发布时间】:2016-03-24 22:54:52
【问题描述】:

不久前,我不小心签入了一些我已更改并添加到解决方案 A 中的未完成的单元测试文件,以及一些包含项目 B 的实际错误修复的文件。

由于某种未知原因,我从未注意到签入会包含来自另一个解决方案的文件,因此签入完成,之后其他团队成员向两个解决方案添加了更多签入。

我现在的问题有两个;

  • 如何在不影响解决方案 A 的情况下撤消签入部分完全
  • 有没有办法防止在 Visual Studio(Enterprise 2015)中发生此类错误,从而无法以某种方式签入不属于当前打开的解决方案的文件?

【问题讨论】:

    标签: tfs version-control


    【解决方案1】:

    我认为最简单的解决方案是使用ROLLBACK command,如果您安装了 TFS 电动工具 (TFPT),您应该可以在 Visual Studio 中进行操作。

    1. 在您当前的分支中,从服务器获取最新版本,然后查看历史记录并找到您的变更集。然后右键单击并选择“回滚整个更改集”。

    1. 这将回滚本地工作区中的更改并签出文件。 (如果有冲突的更改,您必须解决冲突。)

    2. 现在,当您准备签入时,排除/撤消您不想回滚的文件。

    3. 提交/签入要回滚的文件。

    我还没有看到更好的方法,并且认为这比单独回滚更改集中的每个文件要好得多。

    现在回答您的第二个问题:查看我不久前写的 ANSWER。为了方便,我在这里复制它。

    据我测试,此默认设置由以下注册表项控制。如果此注册表项的值设置为 1,则应更改默认行为以按“解决方案更改”进行过滤。

    “HKCU\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl”

    名称:FilterPendingChanges REG_DWORD

    值:1 = 显示解决方案更改

    值:0 = 显示全部

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 2011-09-13
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多