mercurial - 如何从历史记录中永久删除(删除)文件?

标签 mercurial

提交 (未推送)本地有很多文件(包括二进制文件删除和添加......),现在当我尝试推送它需要很多时间。实际上我搞砸了我的本地 repo 历史。

我以后如何避免这个错误?我可以将一组本地版本 1->2->3->4 转换为 1->2 ,其中 2 是本地克隆的最终版本吗?

编辑:因为我很匆忙,所以我从头开始使用修订版 4 开始了一个新的远程仓库。将来我会选择标记的答案,因为它看起来更容易,但我会挖掘其他解决方案来了解真相。感谢您的支持。

最佳答案

您的问题尚不清楚这些更改是否已被插入。如果它们仍然是本地的,您可以或多或少地轻松摆脱它们。转换是一种选择。您还可以使用 MQ(mercurial 队列)。查看EditingHistory wiki文章有详细的解释。它建议 MQ 是最简单的方法。

为了防止这种错误,您可能应该添加一个钩子(Hook)来拒绝“错误”提交,因为您可以以编程方式描述它们;)

关于mercurial - 如何从历史记录中永久删除(删除)文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2702381/

相关文章:

mercurial - 撤消意外的 Mercurial 带?

java - mvn 仅安装 hg 存储库中已修改的文件

macos - 如何在 Mac 上设置 TortoiseHG 与 2 个 parent 进行比较?

vb.net - .hgignore 用于 VB.Net (Express)?

python - Mercurial API : default-push not set from repo's . hg/hgrc

Git 类似于 Hg 的 Bigfiles 扩展?

python - 仅当 Mercurial 发生任何更改时才运行 commit

Mercurial 和 TortoiseHG - 推送更改后更新远程存储库

regex - 忽略除 Mercurial 中的子文件夹之外的所有内容

Mercurial hgignore file 不会忽略某个文件