'rm' + 'svn update' equivalente en Git?

En un directory de trabajo svn, puedo

  1. hacer algunos cambios en los files en el directory de trabajo
  2. eliminar todos los cambios que hice con 'rm todos los files fuente en ese directory, pero mantener mi directory .svn)
  3. recuperar lo que se supone que el tronco utiliza 'svn update' y svn downloadá todo el origen a mi directory de trabajo.

¿Hay un command equivalente en git? ¿puedes decirme cómo hacer eso?

 git reset --hard 

que es un sinónimo de " git reset --hard HEAD " debe ser lo que estás buscando.

Úselo con precaución ya que eliminaría efectivamente cualquier cambio actual en su directory de trabajo. Ver " Deshacer en Git "

Nota: como Charles Bailey menciona en el comentario, y en su respuesta , esto no eliminaría los files sin seguimiento.
Para ese git clean es la herramienta correcta. Consulte su respuesta para get más información , pero también la pregunta " ¿Cómo se eliminan los files sin seguimiento de su copy de trabajo de Git ? " O el artículo de Git-Ready " limpieza de files sin seguimiento ".

Entonces, si quisiéramos hacer una limpieza mayor:

 $ git clean -n -d -x 

Ese command limpiaría los files enumerados en el file .gitignore del proyecto, además de eliminar otros files y directorys que no son necesarios.
Como siempre, tenga precaución al ejecutar git clean, y asegúrese de verificar dos veces lo que realmente está borrando.

Tenga en count que es posible que desee mover sus files sin seguimiento .

  1. Desea descartar todos los cambios en los files rastreados en su directory de trabajo
  2. Estás en la raíz de tu directory de trabajo

    $ git pago y envío.

Esto revisará (restaurará) recursivamente cada file que se está rastreando desde la última confirmación en la twig actual (encabezado).

Suponiendo que está en la raíz de su copy de trabajo.

Desea hacer una limpieza para eliminar los files no rastreados, primero haga una testing en seco para asegurarse de que no va a golpear nada primero. (Es posible que desee investigar el directory (-d) y utilizar las opciones de ignorar reglas (-x) también).

 git clean -n 

Luego ejecútalo 'de verdad'.

 git clean -f 

Luego, revise los files nuevos sin modificar del índice para todos sus files rastreados.

 git checkout .