significado nike english mercurial

nike - Deshace una acción de quitar en Mercurial



mercurial svn (7)

Después de tu comentario a jk, verifiqué hg forget . Parece ser solo un atajo para hg remove -Af , lo que significa que este es el verdadero opuesto de hg add .

Después de eso, si has usado hg remove -Af , entonces deberías poder revertirlo usando hg add (lo probé y parece que funciona).

Supongamos que he hecho algunos cambios en el directorio de trabajo y marqué accidentalmente varios archivos (que incluyen algunos de los modificados) para su eliminación. ¿Cómo elimino la marca de los archivos para eliminarlos sin perder los cambios que hice?


Los marcadores se almacenan en el archivo .hg / dirstate. Todo lo que necesita hacer para obtener uno antes de emitir hg remove -Af . Puede verse así (no probado):

hg clone bad-repo orig-repo cp orig-repo/.hg/dirstate bad-repo/.hg/dirstate cd bad-repo hg status

El último comando debe mostrar el estado antes de eliminar los archivos.


Si el archivo existe, (probablemente si lo has marcado para su eliminación con hg forget o si lo has modificado, hg remove ), haz hg add [file] para volver a agregarlo con los cambios realizados después del último commit. y antes de olvidar el archivo.

Si el archivo no existe (probablemente si el archivo no se modificó y ha marcado el archivo para su eliminación utilizando hg remove ), hg revert [file] para revertirlo a su estado en el padre del directorio de trabajo.


Tuve exactamente el mismo problema. hg add es el inverso a hg forget (igual que lo opuesto es cierto). Sin embargo, intentar volver a agregar el directorio no funcionó. En cambio, tuve que usar hg add en cada archivo:

hg st | egrep "^R" | sed -e "s/R //" | xargs hg add

Espero que ayude. Tenga en cuenta que en mi caso, no había nada que legítimamente quisiera eliminar. Si tiene archivos que definitivamente desea eliminar, ajuste el grep en consecuencia.


hay dos opciones usando hg revert :

hg revertir -a

que volverá a la revisión anterior y colocará todos sus cambios en archivos nuevos con .orig adjunto a los nombres

hg revertir [nombres de archivos para eliminarlos] solo para revertir esos archivos

Probablemente vaya con el último


hg revert

Estoy bastante seguro de que Mercurial incluso hace copias de seguridad de tus cambios por defecto.


Solo hg add los archivos.

No sé por qué recibes algunas respuestas que modifican el directorio de trabajo. Si ha marcado accidentalmente algunos archivos para eliminarlos, puede deshacerlos con Agregar.

ry4an@four:~/hgtest$ hg status --all M another_file C a_file ry4an@four:~/hgtest$ hg remove --after --force * ry4an@four:~/hgtest$ hg status --all R a_file R another_file ry4an@four:~/hgtest$ hg add * ry4an@four:~/hgtest$ hg status --all M another_file C a_file

Dicho esto, no use --force con hg remove o alguna vez realmente. También trate de adquirir el hábito de usar hg forget lugar de hg remove --after ,