【问题标题】:correct way of shelve changes in TFS as a daily backup将 TFS 中的更改搁置为每日备份的正确方法
【发布时间】:2022-01-19 20:00:46
【问题描述】:

我在 VS 2019 中同时从事许多 ASP.NET 项目;我使用带有本地工作区的 TFS(没有 git)。为了确保我有一个“搁置集作为备份”以防我丢失本地工作(高清故障、抢劫、粘手指、懒惰的头脑......),我正在考虑执行以下步骤:

最后,我创建了一个以我的用户名命名的搁置集,保留本地更改。

第二天早上,我继续工作,忽略了我的第一个搁置;同样,在一天结束时,我用我的用户名+“2”创建了一个 SECOND 搁置集。当我确定它的创建没有错误时,我会继续删除第一个搁置集。

第二天早上我也会这样做,依此类推......

你们认为伙计们,这是确保在发生灾难时不会丢失任何本地更改的好方法吗?

【问题讨论】:

  • 为什么不将映射的工作空间从它所在的任何地方(可能是%userprofile\appdata\roaming\microsoft\visual studio...)备份到远程位置(例如 OneDrive)?
  • 因为这会占用太多时间和空间(15 GB);我只需要备份我的更改。
  • 然后设置一个备份计划,该计划执行每日增量/增量,而不是完整备份。 Cobian Backup 是一个可以让您执行此操作的工具示例。 OneDrive 只会上传更改的文件。当然你有最初的 15GB 上传,但之后应该会少得多。
  • @spikey_richie,当您可以使用您正在使用的源代码控制系统的内置功能时,为什么要备份到 OneDrive 或其他文档存储?将工作文件夹存储在一个驱动器上是一个更糟糕的解决方案,它会导致各种问题。

标签: tfs tfvc


【解决方案1】:

搁置是一种存储更改文件的简单方法。你的过程有点复杂。我会简单地运行:

tf vc shelve /replace "daily backup" /noprompt /recursive

该命令以事务方式发生,因此当它成功时将替换旧的搁置集。如果失败,您之前的更改将保持不变。

更好的方法是进行较小的更改并更频繁地签入。这样一来,您的更改不仅存储在服务器上,而且还与您的同行集成。

Visual Studio 也有一个内置的 UI 来暂停您的更改。在 Team Explorer 中打开 My Work 面板并点击 Suspend work 选项。它将在后台创建一个搁置集。

第二天,干脆继续工作:

【讨论】:

  • 哇!这是一个非常好的(和全面的)答案,谢谢。我将测试您在帖子中详细介绍的所有不同方法。
  • 无论如何,制作较小的更改可能会导致太多的更改集需要记住以合并所有分支(集成、预生产和生产),所以我认为这种方法会增加额外的工作和我的环境中的复杂性。
  • 如果您只是将分支合并为一个整体(而不是樱桃采摘),那么您签入多少次都无关紧要。无论如何,我强烈反对樱桃采摘,除了修补已发布的分支...
  • 你能描述一下“合并整个分支”是什么意思吗?我认为这意味着在第一次合并中一次包含我的所有变更集,因此下一个将只有一个变更集。就这样?
  • 是的。当您右键单击分支并从上下文菜单中选择“合并”时,默认是合并分支之间的所有更改,但最终结果只是目标分支上的单个变更集,
猜你喜欢
  • 2010-10-19
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 2019-11-12
  • 2016-07-12
  • 2018-09-16
相关资源
最近更新 更多