Mercurial 中有没有办法删除本地提交?

2024-01-13

所以我在 Mercurial 中不断犯一个愚蠢的错误。很多时候,我会在不执行“hg pull”和“hg update”的情况下开始工作。当我尝试推送更改时,出现错误。

有什么办法可以删除我的本地提交这样我就可以避免创建多个头、分支等?我只想删除我的本地提交,将我的更改与提示合并,然后重新提交。听起来很简单,对吧?我似乎找不到任何方法可以轻松删除本地提交这样我就可以干净地与尖端合并。

再说一遍,我只是想删除使用“hg ci”进行的本地提交。我不想修改文件、恢复等。


启用“strip" 扩展名并输入以下内容:

hg strip #changeset# --keep

Where #changeset#是您要删除的变更集的哈希值。这将删除上述变更集包括源自它的变更集并将保持您的工作目录不变。如果您还希望恢复提交的代码更改,请删除--keep选项。

欲了解更多信息,请查看条带延伸 https://www.mercurial-scm.org/wiki/StripExtension.

如果您收到“未知命令‘strip’”,您可能需要启用它。为此,请找到.hgrc or Mercurial.ini文件并向其中添加以下内容:

[extensions]
strip =

请注意(正如 Juozas 在他的评论中提到的)拥有多个头是 Mercurial 中的正常工作流程。您不应该使用 strip 命令来解决这个问题。相反,您应该将您的 head 与传入的 head 合并,解决所有冲突,测试,然后推送。

The strip当您确实想删除污染分支的变更集时,命令非常有用。事实上,如果你在这个问题 https://stackoverflow.com/q/2139165/419956的情况和你想要完全删除所有“草稿”变更集永久,查看最佳答案 https://stackoverflow.com/a/2143711/419956,这基本上建议这样做:

hg strip 'roots(outgoing())'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mercurial 中有没有办法删除本地提交? 的相关文章

  • 来自 Github 的 hg-git 克隆给出“中止:存储库不相关”

    我有一个项目 其主要 Mercurial 存储库位于 SourceForge 上 但在 Bitbucket Mercurial 和 Github Git 上有克隆 现在我一直在使用hg git https bitbucket org dur
  • 没有父母的反复无常的修订意味着什么?

    我有一个 Mercurial 存储库 现在处于奇怪的状态 这就是 TortoiseHG 中的样子 我认为这是不可能的 修订版 54 的父级为 1 000000000000 即无 显然 我对 Mercurial 还有些不明白 任何人都可以让我
  • 是否可以在 .hgignore 中使用根 glob 模式?

    我更喜欢在 hgignore 文件中使用 glob 语法 但现在我需要创建一个根模式 我想忽略我的 static 目录 但不想忽略 assets static 线路 static 忽略两者 有没有办法实现根全局模式 如果没有 我可以切换到正
  • 更改 Mercurial“默认”父 URL

    假设我有一个 Mercurial 存储库 并且我从默认父 URL 我克隆它的源 中提取数据 现在我想更改默认的父 URL 主机名更改 或者将其复制到另一台计算机等 有没有办法做到这一点 或者我必须从新的 URL 重新克隆 您甚至可以在 hg
  • hg 存档到远程目录

    有没有办法通过 SSH 将 Mercurial 存储库存档到远程目录 例如 如果可以执行以下操作 那就太好了 hg archive ssh email protected cdn cgi l email protection path to
  • Mercurial .hgrc 文件

    默认情况下 在 Windows XP 上 Mercurial 将 hgrc 文件存储在 好吧 就我而言 c Documents and Settings srooks 我如何更改该位置 并让它在其中查找 hgrc 文件 例如 c Confi
  • 当主干/分支/标签结构混乱时,如何从 Subversion 迁移到 Mercurial?

    我想将存储库从 Subversion 转换为 Mercurial 但是当我最初设置存储库时 我以最懒的方式完成了它 随着时间的推移 该结构不断变形和恶化 此时已有 5 年历史 尽管如此 我还是想保留尽可能多的历史 即使我必须弄脏并手动将东西
  • 我可以在 Mercurial 中进行分支而不克隆存储库吗?

    最近 我开始尝试 Mercurial 因为它总是因其简单性和 正常工作 原则而吸引我 或者至少 其他人总是这么描述它 他们通常也将其描述为 实际上与 git 相同 只有一些你不会注意到的细微变化 只是我发现事实并非如此 我的汞分支有问题 如
  • Mercurial Eclipse 插件

    在哪里可以找到好的 Eclipse Mercurial 插件 MercurialEclipse https bitbucket org mercurialeclipse main 更新站点 https bitbucket org mercu
  • 使用 hg 存储库作为网站

    这与我的安全问题有些相关here https stackoverflow com questions 2361626 security deny access to hg via mod rewrite 对实时网站使用 hg Mercuri
  • 如何将 Mercurial 存储库克隆到已存在的目录中?

    我有一个客户的 Django 项目 正在本地开发 使用 Mercurial 进行版本控制 我将本地存储库推送到我的个人远程服务器 我保存所有项目的地方 然后当我部署它时 在任何 Web 服务器上 我从我的个人服务器克隆该存储库 这在大多数服
  • 如何将 git 存储库转换为 Mercurial?

    我一直在使用 git 作为源代码存储库开发 java 应用程序 我想与其他 java 开发人员分享该项目 hg 似乎是他们最常用的 我的问题是如何将 git 存储库转换为 hg 如果我尝试谷歌搜索 将 git 转换为 hg 并且每次搜索命中
  • Mercurial:如何管理公共/共享代码

    我将 Mercurial 用于个人用途 并出于各种原因考虑将它作为 SVN 的替代品用于某些分布式项目 我已经习惯将它用于自包含项目 并且可以看到各种共享选项 但是我还没有找到任何关于管理公共库的指南 以与 subversion 中的外部提
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • 协调多个依赖的 Mercurial 存储库版本的推荐方法?

    好吧 经过几个小时的阅读和反复试验 它终于击中了我 Mercurial 并不真正想做 SubRepos 至少不想与 TortoiseHg 和 Bitbucket 一起使用 如果我错了 并且您不希望对类似于 当然它有效 您没有阅读官方文档吗
  • Mercurial 撤消最后一次提交

    如何撤消 Mercurial 中上次意外提交 未推送 的更改 如果可能的话 最好使用 TortoiseHg 来实现这一点 Update 在我的具体案例中 我提交了一个变更集 未推送 然后我从服务器上拉取并更新 通过这些新的更新 我决定我的上
  • 如何将 pip 指向 Mercurial 分支?

    我正在尝试通过 pip 将我的应用程序安装到 virtualenv 进行测试 安装时效果很好default or tip像这样 pip install e hg https email protected cdn cgi l email p
  • 如何从 Mercurial 中的“主”存储库获取 Google 代码托管项目的更改?

    我从 code google com 上托管的项目创建了一个 服务器 克隆 我从我的机器中的该存储库创建一个克隆并推送一些更改 一切顺利 现在主存储库有一些更改 我想拉取它们 如何使用这些更改更新我的 服务器 克隆 hg pull u go
  • Mercurial:带参数的别名

    我想创建一个别名 以便在运行时 hg pushbranch lt
  • 放弃所有并获得最新版本的干净副本?

    我正在移动构建过程以使用 Mercurial 并希望将工作目录恢复到提示修订版的状态 构建过程的早期运行将修改一些文件并添加一些我不想提交的文件 因此我有本地更改和未添加到存储库中的文件 放弃所有这些并获得具有最新版本的干净工作目录的最简单

随机推荐