【问题标题】:Remove file from Mercurial repository without distribute a deletion从 Mercurial 存储库中删除文件而不分发删除
【发布时间】:2017-03-15 14:13:45
【问题描述】:

在我的存储库中,有人提交了应该未知的文件(或根据 .hgignore 文件被忽略)。

我如何告诉 Mercurial 不再跟踪这些文件,但在远程工作副本上将这些文件保持为未知(或忽略)?(对于远程工作副本,我指的是其他用户的工作副本存储库的。)

更多详细信息:具体来说,这些文件是 Eclipse IDE 在将项目导入为 Maven/Gradle 项目时生成的 .classpath 和 .project 。它们已被添加到存储库并提交。我不想跟踪这些文件的更改,但我不想要求每个人再次将项目重新导入 Eclipse。将 .classpath 和 .project 重命名为 .classpath.template 和 .project.template 并不能解决我的问题。

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    这很棘手,因为当您告诉 hg 忘记该文件时,该文件将在更改日志中存储为已删除 - 并且在更新时,该文件将在每个拉动并更新到晚于该版本的人的工作目录中删除这些文件已从跟踪中删除。

    如果您可以使用hg revert -rTRACKED FILENAME 与每个人相处,其中 TRACKED 是(仍然)跟踪文件的变更集,这不是很好,但可能是最简单的解决方案。

    您可能希望将所有不想被跟踪的文件添加到您的 .hgignore 中,这样hg addremove 就不会意外添加这些文件。

    【讨论】:

    • 我告诉他们使用 Eclipse 在删除文件时重新生成文件,而不是要求他们发出不是很好的技巧。是的,这些文件还在 .hgignore 中,但他们说它不能正常工作。我徘徊他们正在使用什么客户端......无论如何,谢谢。
    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 2023-04-09
    • 2016-07-03
    • 2012-02-23
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    相关资源
    最近更新 更多