TFS 'Get specific version, checkout/checkin' vs 'Rollback Entire Changeset' vs 'Rollback selection of changesets' vs 'Solution Explorer Rollback'

TFS 'Get specific version, checkout/checkin' vs 'Rollback Entire Changeset' vs 'Rollback selection of changesets' vs 'Solution Explorer Rollback'

跟随。是我的理解重新。 TFS 回滚。

假设我有这些。场景:

Changeset 
200 
199 
198 
197 
196 
195

执行回滚的几个选项:

  1. 解决方案资源管理器 -> Rt 点击 -> 获取特定版本,checkout/checkin
  2. 解决方案资源管理器 -> 查看历史记录 -> Rt 单击 -> 回滚整个变更集
  3. 解决方案资源管理器 -> 查看历史记录 -> Rt 单击 -> 回滚变更集选择
  4. Source Explorer (Visual studio -> View -> Other windows -> Source explorer) -> Rt 点击文件 -> Rollback

选项 1 - 解决方案资源管理器 -> 获取特定版本,checkout/checkin:如果我想撤消从变更集 200 到 197 的所有更改并回滚到签入变更集 196 后文件的状态,我可以使用此选项 - 获取特定版本(变更集 196),然后签出并签入文件。

选项 2 - 解决方案资源管理器 -> 查看历史记录 -> 回滚整个变更集:如果要回滚特定变更集,可以使用此选项。请注意,与该变更集关联的任何其他文件也将回滚。例如,如果您想回滚在变更集 197 中所做的更改,同时仍然保持所有其他后续 (>197) 变更集完好无损。

选项 3 - 解决方案资源管理器 -> 查看历史记录 -> 回滚变更集选择:与选项 2 相同,但可用于回滚多个变更集。撤消变更集 200 到 197 并将文件恢复到签入变更集 196 时的状态的示例

选项 4 - Source Explorer (Visual studio -> View -> Other windows -> Source explorer) -> Rt click file -> Rollback: 这会带来一个对话框来执行以下任一操作以下内容:

问题:在选项 4 中,来自同一变更集的其他文件是否会因回滚而受到影响?还是此回滚仅针对此文件,与选项 2、3 对应项不同?

Useful Link for Rollback examples

当您右键单击一个文件并 Rollback... 您得到 pop-up,在顶部您有字段 Items to Rollback,默认情况下该值将是服务器路径到文件。

因此,当您从那里回滚时,回滚将仅针对此文件,不会影响其他文件。

当您单击文件 View HistoryRollback Entire Changeset 时,更改集的所有文件都将回滚。