Mercurial - 如何从版本控制中删除文件?

时间:2010-07-14 21:21:11

标签: mercurial tortoisehg

所以我不小心将一个配置文件(每台机器不同)包含在我们的mercurial存储库中。

如何让Mercurial不将其包含在版本控制中?我不想删除该文件,因为我仍然想要它。而且我不想让文件在其他开发人员的工作目录中被删除。

我如何在TortoiseHG中做到这一点?

5 个答案:

答案 0 :(得分:39)

右键单击该文件 - > TortoiseHG - >忘记档案。单击忘记。提交和同步。

编辑: 您还需要添加.hgignore的路径,以防止再次添加。您可以在HG Commit对话框中右键单击该文件,然后选择忽略它。

答案 1 :(得分:27)

以下是通过命令行手动完成此操作的方法:

  1. 将配置文件复制到存储库之外的某个位置。
  2. 运行hg rm path/to/config/file
  3. 将配置文件路径添加到.hgignore
  4. 提交存储库。
  5. 将配置文件移回您拥有的位置。
  6. 在您的存储库中执行hg stat以仔细检查您是否正确完成了所有操作。 (它不应该出现在修改/添加的文件列表中。)
  7. 修改

    hg forget是执行此操作的最佳方式。

    1. 运行hg forget path/to/config/file
    2. 编辑您的.hgignore并添加配置文件的路径。
    3. hg ci保存您的更改。
    4. 运行hg stat以确保一切按计划运作。
    5. 请参见有关如何做TortoiseHG的回答。

答案 2 :(得分:2)

hg removehg remove -f? 我认为hg forget也会将其从分支中删除。

在这两种情况下,文件都会保留在您的目录中。

答案 3 :(得分:-1)

对于使用 SourceTree 的用户,右键单击文件时会出现选项Stop Tracking,它基本上与hg forgetgit rm --cache完全相同,从repo中删除文件但不从硬盘中删除。

答案 4 :(得分:-2)

将其添加到您的忽略列表中。

请参阅.hgignore文件。

TortoiseHG允许您通过“编辑忽略过滤器”菜单选项访问此配置文件。