Quiero que mercurial elimine varios archivos del estado actual del repositorio. Sin embargo, quiero que los archivos existan en el historial anterior.
¿De qué manera forgety removeson diferentes, y pueden hacer lo que quiero?
version-control
mercurial
Paul Nathan
fuente
fuente

Respuestas:
"
hg forgetes solo una abreviatura dehg remove -Af". De la 'hg remove' ayuda:En pocas palabras: '
remove' elimina el archivo de su copia de trabajo en el disco (a menos que lo use-Af) y 'forget' no lo hace.fuente
La mejor manera de poner es que
hg forgetes idéntica ahg removeexcepto que deja detrás de los archivos en su copia de trabajo. Los archivos se dejan atrás como archivos sin seguimiento y ahora se pueden ignorar opcionalmente con un patrón en.hgignore.En otras palabras, no puedo decir si lo usaste
hg forgetohg removecuándo me aparté de ti. Un archivo que se ejecutóhg forgeten se borrará cuando actualice a ese conjunto de cambios - al igual que si se hubiera usadohg removeen su lugar.fuente
De la documentación, aparentemente puede usar cualquiera de los comandos para mantener el archivo en el historial del proyecto. Parece que desea eliminar, ya que también elimina el archivo del directorio de trabajo.
Del libro de Mercurial en http://hgbook.red-bean.com/read/ :
La página de manual hg (1) dice esto sobre olvidar:
Y esto sobre eliminar:
fuente
Si utiliza
"hg remove b"un archivo con el estado "A", lo que significa que se agregó pero no se confirmó, Mercurial responderá:Esta respuesta es una explicación muy clara de la diferencia entre eliminar y olvidar.
Tengo entendido que
"hg forget"es para deshacer un archivo agregado pero no confirmado para que el control de versiones no lo rastree; mientras"hg remove"es para sacar un archivo comprometido del control de versiones.Este hilo tiene un ejemplo para usar
hg removecontra archivos de 7 tipos diferentes de estado.fuente
fuente