Mercurial – 如何从版本控制中删除文件?
所以我不小心将一个configuration文件(每台机器不同)放入我们的mercurial仓库。
我怎样才能让Mercurial不包含在版本控制中? 我不想删除该文件,因为我仍然想要它。 而且我不想让文件在其他开发者的工作目录上被删除。
我如何在TortoiseHG中做到这一点?
右键单击文件 – > TortoiseHG – >忘记文件。 点击忘记。 提交和同步。
编辑:您还需要将path添加到.hgignore以防止再次添加。 您可以右键单击HG提交对话框中的文件并select忽略它。
以下是通过命令行执行的手动方式:
- 将configuration文件复制到存储库之外的某个位置。
-  运行hg rm path/to/config/file
-  将configuration文件path添加到.hgignore。
- 提交存储库。
- 将configuration文件移回原来的位置。
-  对你的仓库做一个hg stat,仔细检查你做的一切正确。 (它不应该显示在修改/添加的文件列表中)。
编辑 :
  hg forget是做到这一点的最好方法。 
-  运行hg forget path/to/config/file
-  编辑.hgignore并将path添加到configuration文件。
-   hg ci保存您的更改。
-  运行hg stat以确保一切按计划进行。
看到如何做TortoiseHG nates的答案。
  hg remove或者hg remove -f ? 我认为, hg forget也hg forget了从分支。 
在这两种情况下,文件都保留在您的目录中。
 对于那些使用SourceTree的人来说 ,当你右键单击一个文件时,有一个选项Stop Tracking ,它基本上和hg forget或者git rm --cache ,从repo中删除文件,而不是从硬盘中删除。 
将其添加到您的忽略列表中。
请参阅.hgignore文件。
TortoiseHG使您可以通过“编辑忽略filter”菜单选项访问此configuration文件。