删除 Visual Studio Online 中的中间提交



我多次编辑了我的 README.md,因为我没有看到预览按钮。现在我的提交历史记录充满了无用的提交。

我可以删除其中一些,或者至少隐藏它们吗?

警告

重写历史记录可能会使您的源代码管理系统处于非常混乱的状态。确保您有一个良好的来源备份,以防出现任何问题。

吉特

根据团队项目设置,Readme.md 存储在 Git 存储库中,你绝对可以重写历史记录,并强制将压缩的提交推送回 TFS,实质上使其忘记中间数据。这是使用git rebase完成的,不能通过Visual Studio Online网站或通过Visual Studio Tools for Git完成。您需要从命令行执行此操作。

整个过程在 Git-SCM wiki 中得到了很好的解释。您需要执行以下步骤:

  1. 从具有强制推送权限的帐户克隆包含 readme.md 的存储库。
  2. 使用 git rebase -i HEAD~6(6 是要倒带的提交数)
  3. 使用 Squash 将提交合并在一起
  4. 使用 git push --force origin master 强制在遥控器上重写历史记录

注意:这将更改提交和之后的每个提交的哈希。执行此操作后,要么警告所有其他参与者重新同步,要么确保在您进行这些提交后没有其他人处理过存储库。

全氟化

如果团队项目是使用 TFVC 配置的,则过程略有不同。

  1. 确保您有要保留的文件的副本。
  2. 使用tf destroy $/Teamproject/readme.md销毁源代码管理中的文件,如果需要,可以使用/keephistory /stopat:C12345选项在文件历史记录结束时销毁特定更改集中的数据。
  3. 现在将备份的文件复制回原位
  4. 并像往常一样或从命令行tf add $/teamproject/reqadme.md后跟 tf checkin .如果您保留历史记录,TFVC 将重新连接它。如果您完全销毁了历史记录,TFVC 将只添加一个新文件。

最新更新