我希望从数据库的当前状态中删除几个文件。但是,我希望文件存在于先前的历史记录中。
怎么做forget
和remove
有什么不同,他们可以做我想做的吗?
我希望从数据库的当前状态中删除几个文件。但是,我希望文件存在于先前的历史记录中。
怎么做forget
和remove
有什么不同,他们可以做我想做的吗?
Answers:
“ hg forget
”只是“ ”的简写hg remove -Af
。在' hg remove
'帮助中:
...和-Af可用于从下一个版本中删除文件,而无需从工作目录中删除它们。
底线:“ remove
”从磁盘上的工作副本中删除文件(除非您使用-Af
),而“ forget
”则不会。
从文档中,您显然可以使用任一命令将文件保留在项目历史记录中。看起来您想删除,因为它还会从工作目录中删除文件。
摘自http://hgbook.red-bean.com/read/上的Mercurial书:
删除文件不会影响其历史记录。重要的是要了解删除文件只有两个作用。它将从工作目录中删除文件的当前版本。从下一次提交起,它将阻止Mercurial跟踪对文件的更改。删除文件不会以任何方式改变文件的历史记录。
手册页hg(1)谈到了这一点:
标记指定的文件,以便在下一次提交后不再对其进行跟踪。这只会从当前分支中删除文件,而不会从整个项目历史记录中删除文件,也不会从工作目录中删除它们。
关于删除:
计划指示的文件以从存储库中删除。这只会从当前分支中删除文件,而不会从整个项目历史记录中删除文件。