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文件。