代码之家  ›  专栏  ›  技术社区  ›  knittl

“hg forget”是否与“git rm--cached”相同?

  •  9
  • knittl  · 技术社区  · 14 年前

    hg forget git rm --cached ? i、 会在下次提交时删除文件并停止跟踪它吗?

    1 回复  |  直到 14 年前
        1
  •  9
  •   Ry4an Brase    14 年前

    hg forget 告诉mercurial停止跟踪文件,但不更改工作目录中的文件。

    hg add (当然,历史仍然存在)。新克隆不会在其工作目录中包含该文件,但不会在您的工作目录中删除该文件。

    如果您希望在workingdir/manifest中有一个文件,但希望忽略将来的更改,则没有简单的方法可以做到这一点(因为通常认为这是一个坏主意),尽管您可以通过给要使用的东西加上别名来伪造它 -I hg commit

    更好的方法是在repo中提交希望忽略其更改的文件样本,然后让生成系统(或指令)将其复制到非样本位置。例如,有一个文件 config-file.sample 在repo中跟踪,然后让setup/installation/build执行 cp config-file.sample config-file 如果 config-file 仅存配置 在你的 .hgignore 所以它不会意外地被添加。这为您提供了一个跟踪的基线,但不存在提交和推送本地定制的风险。对于数据库路径之类的事情,这是非常常见的。