“hg revert”后我的更改消失了吗?

2023-11-27

在我上次提交之后,我写了一堆代码。在再次提交之前,我跑了hg add。 它添加了一些我不感兴趣的文件,所以我跑了

$ hg revert --all

认为所有添加的文件都会消失。它们确实消失了,但我还恢复了自上次提交以来编写的所有代码,这意味着大量工作丢失了!我有什么选择?


当你hg revert一个文件(或--all文件)、Mercurial保存备份文件的另一个名称。这是为了让您更难失业。如果该文件被调用foo,你将会有一个foo.orig与原始版本。

您可以使用

$ hg status --all --include "**.orig"

看到所有的.orig工作副本中的文件。将您需要的移回原处,重新添加并提交。

相关说明:人们有时会添加--no-backup向他们的旗帜[defaults]部分以摆脱.orig文件 Mercurial 分散在各处。我认为这是一个非常糟糕的主意...忽略.orig文件而不是添加

syntax: glob
*.orig

to your .hgignore文件。这样更安全,有一天你会很高兴拥有这些.orig文件随处可见:-)

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

“hg revert”后我的更改消失了吗? 的相关文章

  • 是否可以在 .hgignore 中使用根 glob 模式?

    我更喜欢在 hgignore 文件中使用 glob 语法 但现在我需要创建一个根模式 我想忽略我的 static 目录 但不想忽略 assets static 线路 static 忽略两者 有没有办法实现根全局模式 如果没有 我可以切换到正
  • Mercurial 合并两个命名分支:工作目录没有祖先

    我有两个命名分支 SPRINT 009 和 SPRINT 010 一些变更集已提交给 SPRINT 009 我想将其合并到 SPRINT 010 中 我能够毫无问题地将分支中的变更集合并回默认值 我在将变更集从branch one合并到br
  • TortoiseHg无法提交--“系统找不到指定的文件”

    我刚刚选择了 TortoiseHg 用于 Windows 上的分布式源代码控制 并将其安装在我的 C 驱动器上 然后我创建了一个存储库 位于 D projects 中 当我尝试提交更改时 它给了我错误 abort None 系统找不到 指定
  • 私人变更的用例

    假设我有以下场景 我克隆了一些开源项目 例如从 URL X 克隆的项目 现在我有了它的本地克隆 我对本地克隆进行了一些更改以尝试并在本地提交它们 现在我想要的是以下内容 我想从开源项目 X 获取更新 只需获取其所有最新代码 无需我进行任何更
  • 有什么方法可以改变 TortoiseHg 中图表的绘制方式吗?

    由于习惯了 ClearCase 绘制图表的方式 我乍一看发现 Mercurial 和 TortoiseHg 的方式令人困惑 This http nvie com posts a successful git branching model
  • 如何远程在BitBucket上创建存储库?

    我想在 Bitbucket 上使用 hg 命令从本地计算机创建存储库 而不是在 Bitbucket 上手动创建存储库 是否可以 我通过curl 命令使用REST API 执行了以下操作 gt curl k X POST user user
  • hg 将补丁应用于工作目录是什么意思?

    我一生中第一次尝试使用补丁 恢复损坏的存储库 所以我对这个概念不是很熟悉 尽管我读过一点 我正在使用 TortoiseHg 我已经创建了一个补丁 作为文件 切换到另一个存储库 并尝试导入它 我已要求 THg 将其导入存储库 其他选项是货架和
  • Mercurial .hgrc 文件

    默认情况下 在 Windows XP 上 Mercurial 将 hgrc 文件存储在 好吧 就我而言 c Documents and Settings srooks 我如何更改该位置 并让它在其中查找 hgrc 文件 例如 c Confi
  • 将带有子存储库的 Mercurial 存储库迁移到 git 并保留历史记录的最佳方法?

    我正在尝试将 Mercurial 存储库迁移到 git 但问题是 Mercurial 存储库有子存储库 有些带有分支 以及大量合并和分支本身 我希望最终的 git 存储库能够保留所有这些历史记录 并且在检查存储库或其他分支的早期部分时保持正
  • 使用 Mercurial,我如何查看哪些更改尚未推送?

    我习惯了 git 你可以在其中运行 gitk 并得到如下内容 在这里您可以看到有一些更改需要推送到远程分支 或者 我可以使用git log decorate输出将是 b8c2926 refs heads next Update instru
  • 如何将 Mercurial 存储库克隆到已存在的目录中?

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

    我一直在使用 git 作为源代码存储库开发 java 应用程序 我想与其他 java 开发人员分享该项目 hg 似乎是他们最常用的 我的问题是如何将 git 存储库转换为 hg 如果我尝试谷歌搜索 将 git 转换为 hg 并且每次搜索命中
  • 有趣的是,当为 Mercurial 添加 .hgignore 时,该文件本身显示为“?”汞状态?

    正常吗 所以你只需要添加 hgignore到列表中忽略自身 是的 但你不想忽视 hgignore文件 当新人查看您的存储库时 您不希望他们获得您的忽略文件列表吗 相反 做hg add hgignore hg commit 底线 hgigno
  • 如何在 Mercurial 中查看文件的先前版本

    我正在使用 Mercurial 对目录中的几个文件进行版本控制 假设我有 10 次提交 10 个变更集或修订 我只想查看特定文件 例如 thisFile py 在其第七个修订版中的外观 我不想恢复到这个旧版本 我不想对之前的版本进行任何更改
  • 正在搜索 Mercurial 存储库 (TortoiseHG)?

    有什么方法可以输入特定的文件名 例如 xyz txt 并使用 TortoiseHG 在 Mercurial 存储库中搜索该文件的任何签入 如果没有 为什么不呢 这不就是版本控制的用途吗 在 Hg Repository Explorer 窗口
  • Mercurial 撤消最后一次提交

    如何撤消 Mercurial 中上次意外提交 未推送 的更改 如果可能的话 最好使用 TortoiseHg 来实现这一点 Update 在我的具体案例中 我提交了一个变更集 未推送 然后我从服务器上拉取并更新 通过这些新的更新 我决定我的上
  • GIT 或 SVN 或...适用于前端开发人员

    我最近开始将一些项目导入到工作中的 Subversion 存储库中 在接下来的几周内 我希望团队中的每个人都能负责自己的源代码控制管理 我选择 SVN 而不是 GIT 的原因是我想要everyone团队中的人员 包括设计师 前端人员 集成商
  • Mercurial日志接口

    我一直在浏览 hginit com 上的教程 但我发现了一个相当不方便的方面hg log特征 基本上 当我输入它时 我会在顶部看到最新的更改 在底部看到最旧的更改 但这很烦人 因为大多数时候 您希望看到最新的修订版 所以 假设我有 100
  • 如何在 *Windows* 中将 Mercurial 存储库转换为 Git? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上将 Mercurial hg 存储库转换为 Git 7 https stackoverflow com questions 3267232 converting a mercur
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实

随机推荐