【问题标题】:How do I unadd a not yet committed file I have added?如何取消添加已添加的尚未提交的文件?
【发布时间】:2010-04-18 08:39:23
【问题描述】:

我输入了 hg add 并且我是 mercurial 的新手,结果是一堆 dll 的 exe 的 pdb 等都被添加了 尚未提交任何内容,我基本上想撤消添加。 hg forget 的文档不是很清楚,不确定我是否想要 如何在下一次提交之前撤消添加

我确实有一些需要添加的真实文件,所以在我可以撤消添加后,我将使用带有排除标志的添加
谢谢

【问题讨论】:

  • 您也可以使用.hgignore 文件来防止将来意外添加某些类型的文件。

标签: mercurial


【解决方案1】:

查看this mercurial tip。引用链接 - 如果您不小心添加了一个文件,撤消该文件的方法(将其状态从 A 更改回?,或未知)是 hg revert。例如,如果您刚刚运行 hg add 并意识到您不希望 Mercurial 跟踪文件 foo 或 bar:

hg revert foo bar

【讨论】:

  • +1。不过,如果您还提供命令本身会更好。
  • 我不喜欢重复已经写过的东西(我猜是职业死亡:-)) - 现在添加了命令。
【解决方案2】:

revertremove 可用于取消添加尚未提交的内容。但是,它们也都有其他用途,因此为了清楚起见,hg forget 在 1.3 中(重新)添加了,尽管它的名称可能更容易记住。

【讨论】:

  • "尽管它的名字可能更容易记住。"... !!
【解决方案3】:

如果您使用的是类 Unix 系统,我认为最好的选择是运行

hg status -an0 | xargs -0 hg revert

【讨论】:

    【解决方案4】:

    针对此类情况的两个提示:

    • 如果根本没有提交任何内容,只需删除 .hg 并使用 hg init 重新开始。
    • 如果您对存储库做了一些糟糕的事情,并且似乎无法弄清楚如何撤消它,(并且 hg update -C 或 revert all 无法修复),请考虑在最后一个好位置克隆存储库。

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2011-04-27
      • 2020-07-18
      • 2019-08-08
      • 1970-01-01
      相关资源
      最近更新 更多