es `hg forget` lo mismo que` git rm –cached`?

Estoy teniendo dificultades para entender hg forget . es lo mismo que git rm --cached ? es decir, eliminará el file con la próxima confirmación y dejará de seguirlo?

hg forget dice a mercurial que deje de rastrear un file, pero no lo altera en su directory de trabajo.

Después de su confirmación, se comportará como si nunca hubiera hg add un hg add (aunque, por supuesto, el historial seguirá existiendo). Los nuevos clones no tendrán ese file en su directory de trabajo, pero no se eliminarán en su directory de trabajo.

Si desea tener un file en el directory / manifiesto de trabajo, pero desea ignorar los cambios futuros, no hay una manera fácil de hacerlo (porque generalmente se considera una mala idea), aunque puede falsificarlo mediante el alias de las cosas para usar -I en hg commit .

La mejor manera de hacerlo es enviar una muestra del file que desea en el repository pero cuyos cambios desea ignorar y luego hacer que su sistema de compilation (o sus instrucciones) lo copie en su location no muestra. Por ejemplo, tenga un file config-file.sample que se config-file.sample en el repository, y luego haga que setup / installation / build haga un cp config-file.sample config-file si config-file doesnt 'existe. Incluya config-file en su .hgignore para que no se agregue accidentalmente. Eso le proporciona una línea de base rastreada, pero no corre el riesgo de comprometer y empujar sus personalizaciones locales. Esto se hace comúnmente para cosas como routes de bases de datos.