`hg forget`与`git rm --cached`相同?

kni*_*ttl 9 git mercurial dvcs

我很难理解hg forget.它是一样的git rm --cached吗?即将删除文件与下一次提交并停止跟踪它?

Ry4*_*ase 9

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

在您提交之后,它将表现得就像您从未做过一样hg add(尽管当然历史仍然存在).新克隆在其工作目录中不会包含该文件,但在您的工作目录中不会删除它.

如果你想拥有在工作目录/清单文件,但想忽略未来的变化,有没有简单的方法来做到这一点(因为它通常被认为是一个坏主意),但您可以伪造它的别名东西使用-Ihg commit.

更好的方法是在repo中提交所需文件的样本,但要忽略其更改,然后让构建系统(或您的指令)将其复制到非样本位置.例如,有一个config-file.sample在repo中跟踪的文件,然后安装/安装/构建cp config-file.sample config-file如果config-file不存在则执行.包含config-file在你的.hgignore内容中不会意外添加.这为您提供了跟踪基线,但不会冒险提交和推送您的本地自定义.这通常用于数据库路径之类的事情.

  • 记录:`hg forget`与`git rm --cached`相同(我原来的问题) (4认同)