5

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

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

4

1 回答 1

8

警告

历史重写会使您的源代码控制系统处于非常混乱的状态。确保您有良好的来源备份,以防出现任何问题。

吉特

根据您的团队项目设置,Readme.md 存储在 Git 存储库中,您绝对可以重写历史记录并将压缩的提交强制推送回 TFS,从而使其忘记中间数据。这是使用git rebaseVisual 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强制在遥控器上重写历史记录

注意:这将更改提交的哈希值以及之后的每个提交。完成此操作后,要么警告所有其他贡献者重新同步,要么确保在您提交这些提交后没有其他人在 repo 上工作。

TFVC

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

  1. 确保您拥有要保留的文件的副本。
  2. 使用 销毁源代码控制中的文件tf destroy $/Teamproject/readme.md,如果需要,您可以使用/keephistory /stopat:C12345选项在文件历史记录末尾销毁特定更改集中的数据。
  3. 现在将您的备份文件复制回原位
  4. 并按照您通常的做法或从命令行签入,tf add $/teamproject/reqadme.md后跟tf checkin. 如果您保留历史记录,TFVC 将重新连接它。如果你完全破坏了历史,TFVC 只会添加一个新文件。
于 2014-12-31T14:23:40.247 回答