回答
'hg forget
'只是'hg remove -Af
'的简写。从“hg remove
”的帮助:
...和-Af可用于去除的下一个版本的文件 不 从工作 目录中删除它们。
底线:“remove
”将删除你的工作拷贝磁盘上的文件(除非你使用-Af
)和“forget
”没有。
在“Mercurial 1.3”中重新引入了“hg forget”,作为执行“hg remove -Af”的更简单的方法。它安排文件的删除而不从工作副本中删除它。 – 2009-07-09 21:14:05
很高兴听到它。 '删除-Af'(以及'删除'帮助页面上的整个选项表)是疯狂的。 – 2009-07-10 02:40:40
从文档中,您可以明显使用任一命令将文件保留在项目历史记录中。看起来你想删除,因为它也从工作目录删除文件。
从水银书在http://hgbook.red-bean.com/read/:
删除文件不会影响其 历史。 明白,删除文件具有 只有两个效果。它从 工作目录中删除 当前版本的文件。它会阻止Mercurial 从下次提交时跟踪对文件 的更改。 删除文件并不会以任何方式更改文件的历史记录 。
手册页汞柱(1)说,这大约忘记:
马克指定的文件,使他们 不再下一 提交后跟踪。这只会从当前分支中删除 中的文件,而不是从 整个项目历史中删除文件,并且 不会从工作中的 目录中删除它们。
这大约删除:
时间表从仓库中取出 指定的文件。此 只从当前的 分支中删除文件,而不是从整个项目的 历史中删除。
把最好的办法是,hg forget
是相同到hg remove
除了,它让文件后面您工作副本。这些文件留作未跟踪文件,现在可以选择使用.hgignore
中的模式忽略。
换句话说,如果我使用hg forget
或hg remove
当我从您那里拉出,我不能告诉。当您更新到该更改集时,您在上运行hg forget
的文件将被删除 - 就像您使用hg remove
代替了一样。
如果使用"hg remove b"
反对用“A”状态,这意味着它已经被添加,但不是COMMITED文件,水银会回应:
not removing b: file has been marked for add (use forget to undo)
这种反应是删除之间的差异非常明确的解释忘了。
我的理解是,"hg forget"
用于撤销添加但未提交的文件,以便它不被版本控制跟踪;而"hg remove"
则用于从版本控制中提取已提交的文件。
这个thread有一个使用hg remove
来对付7种不同类型的状态文件的例子。
的文件可以被跟踪或没有,你使用汞添加跟踪文件和 汞去除或HG忘记取消跟踪。使用hg删除没有 标志将同时删除该文件并取消跟踪它,hg忘记将 只需取消它,而不删除它。
- 1. hg branches和hg忘记
- 2. hg标签和hg书签有什么区别?
- 3. hg revert和hg backout有什么不同?
- 4. “hg”和“mercurial”Homebrew公式之间有什么区别?
- 5. 复制.hg文件夹和使用克隆有什么区别?
- 6. 如何让hg忘记什么.hgignore列表?
- 7. hg是忘记还是忽略?
- 8. hg copy做什么?
- 9. 如何删除git-hg存储库中的hg锁?
- 10. 删除 - 删除和查找 - 删除有什么区别
- 11. Mercurial SCM - 'hg'代表什么?
- 12. hg - hg推送超时时怎么办
- 13. 什么是hg heads/hg父母的git等价物?
- 14. 删除和删除数据库有什么区别?
- 15. HG:找到已删除的行取出
- 16. hg从目录中删除目录?
- 17. 从HG中删除文件传出
- 18. 如何删除hg中的分支?
- 19. Hg:逐行级别更新?
- 20. StringTokenizer,忘记删除
- 21. hg等效的git笔记
- 22. 清除cookie和删除cookie有什么区别?
- 23. Eclipse PDT和Hg(Mercurial)
- 24. .hg没有找到
- 25. 追踪和记录有什么区别?
- 26. 不支持的hg版本hg 1.9..3 - 预计至少hg 2.0.0
- 27. 从Hg转换为Git后,如何去除Hg源控制?
- 28. 从文件系统删除跟踪文件vs hg删除
- 29. 为什么我的hg不能工作?
- 30. hg commit -u的git相当于什么?
不要担心,您无法从Mercurial中的历史记录中删除文件 - 除非您开始使用扩展名,否则历史记录通常是不可变的。 – 2009-07-09 21:18:38