significado precio nike meaning mercurial

precio - Mercurial: ¿cómo descartar todos los cambios locales, incluidos los archivos no versionados?



mercurial significado (5)

Estoy moviendo un proceso de compilación para usar mercurial y quiero volver a poner el directorio de trabajo en el estado de la revisión de la sugerencia. Las ejecuciones anteriores del proceso de compilación habrán modificado algunos archivos y agregado algunos archivos que no deseo confirmar, por lo que tengo cambios locales y archivos que no se agregan al repositorio.

¿Cuál es la forma más fácil de descartar todo eso y obtener un directorio de trabajo limpio que tenga la última revisión?

Actualmente estoy haciendo esto:

hg revert --all <build command here to delete the contents of the working directory, except the .hg folder.> hg pull hg update -r MY_BRANCH

pero parece que debería haber una manera más simple.

Quiero hacer el equivalente a eliminar el repositorio, hacer un clon nuevo y una actualización. Pero el repositorio es demasiado grande para que sea lo suficientemente rápido.


Esos pasos deberían poder acortarse a:

hg pull hg update -r MY_BRANCH -C

La bandera -C le dice al comando de actualización que descarte todos los cambios locales antes de actualizar.

Sin embargo, esto aún puede dejar archivos sin seguimiento en su repositorio. Parece que también quieres deshacerte de ellos, así que usaría la extensión de purge para eso:

hg pull hg update -r MY_BRANCH -C hg purge

En cualquier caso, no hay un solo comando que pueda pedirle a Mercurial que haga todo lo que quiera aquí, excepto si cambia el proceso a ese método de "clonación completa" que diga que no puede hacer.


Para borrar untracked en * nix sin la extensión de purga, puede usar

hg pull hg update -r MY_BRANCH -C hg status -un|xargs rm

Que está usando

actualización -r --rev REV revisión

update -C --clean descartar cambios no confirmados (sin copia de seguridad)

status -u --unknown muestra solo archivos desconocidos (no seguidos)

status -n --no-status Ocultar prefijo de estado


Si está buscando un método que sea fácil , entonces puede intentar esto.

Por mi parte, apenas puedo recordar las líneas de comando para todas mis herramientas, por lo que tiendo a hacerlo usando la IU:

1. Primero, selecciona "confirmar"

2. Luego, visualice los archivos ignorados. Si tiene cambios no confirmados, escóndalos.

3. Ahora, seleccione todos y haga clic en "Eliminar sin versionar".

Hecho. Es un procedimiento que es mucho más fácil de recordar que las cosas de línea de comandos.


El estado de hg le mostrará todos los archivos nuevos, y luego puede simplemente registrarlos .

Normalmente quiero deshacerme de los archivos ignorados y no versionados, así que:

hg status -iu # to show hg status -iun0 | xargs -r0 rm # to destroy

Y luego sigue eso con:

hg update -C -r xxxxx

que pone todos los archivos versionados en el estado correcto para la revisión xxxx

Para seguir la tradición de de decirte que no quieres hacer esto, a menudo encuentro que esta "Opción Nuclear" ha destruido cosas que me importan.

La forma correcta de hacerlo es tener una opción ''make clean'' en su proceso de compilación, y tal vez un ''make reallyclean'' y ''make distclean'' también.


hg up -C

Esto eliminará todos los cambios y se actualizará a la última cabeza en la rama actual.

Y puede activar la extensión de purga para poder eliminar también todos los archivos no versionados.