我多次编辑了我的 README.md,因为我没有看到预览按钮。现在我的提交历史记录充满了无用的提交。
我可以删除其中一些,或者至少隐藏它们吗?
警告
重写历史记录可能会使您的源代码管理系统处于非常混乱的状态。确保您有一个良好的来源备份,以防出现任何问题。
吉特
根据团队项目设置,Readme.md 存储在 Git 存储库中,你绝对可以重写历史记录,并强制将压缩的提交推送回 TFS,实质上使其忘记中间数据。这是使用git rebase
完成的,不能通过Visual Studio Online网站或通过Visual Studio Tools for Git完成。您需要从命令行执行此操作。
整个过程在 Git-SCM wiki 中得到了很好的解释。您需要执行以下步骤:
- 从具有强制推送权限的帐户克隆包含 readme.md 的存储库。
- 使用
git rebase -i HEAD~6
(6 是要倒带的提交数) - 使用
Squash
将提交合并在一起 - 使用
git push --force origin master
强制在遥控器上重写历史记录
注意:这将更改提交和之后的每个提交的哈希。执行此操作后,要么警告所有其他参与者重新同步,要么确保在您进行这些提交后没有其他人处理过存储库。
全氟化
如果团队项目是使用 TFVC 配置的,则过程略有不同。
- 确保您有要保留的文件的副本。
- 使用
tf destroy $/Teamproject/readme.md
销毁源代码管理中的文件,如果需要,可以使用/keephistory /stopat:C12345
选项在文件历史记录结束时销毁特定更改集中的数据。 - 现在将备份的文件复制回原位
- 并像往常一样或从命令行
tf add $/teamproject/reqadme.md
后跟tf checkin
.如果您保留历史记录,TFVC 将重新连接它。如果您完全销毁了历史记录,TFVC 将只添加一个新文件。