【问题标题】:What does this symbol mean in Mercurial?这个符号在 Mercurial 中是什么意思?
【发布时间】:2011-03-02 04:13:29
【问题描述】:

我主要重构了我的项目。我添加了一些新类,但我还从 Visual Studio 解决方案资源管理器中右键单击 > 删除了类。

是什么!符号是什么意思?

所有标有 !是我在 VS2010 中删除的东西。这也会从存储库中删除它们吗?

【问题讨论】:

  • 您对hg status 有疑问?有关解决方案,请参阅hg help status。如果帮助不够明确,请告诉我,以便我改进。

标签: mercurial


【解决方案1】:

那些文件“丢失”。您尚未从存储库中明确删除这些文件,但 mercurial 无法找到它们。

如果您使用hg commit --addremove 提交,那么 mercurial 将从存储库中删除所有丢失的文件。在这种情况下,我认为这就是您想要做的 - 您故意删除了这些文件,并且您不希望它们出现在您的代码的未来版本中。如果需要,您仍然可以转到早期版本并调用这些文件。

【讨论】:

  • 太棒了!谢谢你澄清这一点。所以我会去 hg commit -m "tqerqwer" --addremove?
  • 是的!堆栈溢出让我写的不仅仅是“是的!”所以我会重申:“正是!” hginit.com 上有一个很棒的教程
  • hg addr -n 非常有用,如果您想进行试运行以查看将添加或删除哪些文件。
  • 您也可以在提交之前执行hg addremove -s 80,mercurial 将自动检测仍然有 80% 相似的文件的重命名/副本。这样您就可以跨重命名跟踪历史记录,并且当与没有重命名的分支合并时,mercurial 将知道该怎么做。
【解决方案2】:

作为@Riley pointed out,这意味着他们失踪了。从存储库中删除它们的另一种方法是使用hg remove --after <filename>。 hgbook 中的 cmets 指出,您可以在不指定文件名的情况下发出命令,它也会删除所有丢失的文件,但它会抱怨每个没有丢失的文件。

【讨论】:

  • 是的,这样更安全。你不应该养成只在每次提交结束时加上 --addremove 的习惯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 2015-02-18
  • 2017-02-04
  • 2010-12-30
  • 2016-11-27
  • 2021-09-17
  • 1970-01-01
相关资源
最近更新 更多