Forzar un tirón con git

He intentado casi todo esto, ninguno parece funcionar: ¿cómo fuerzo "git pull" para sobrescribir los files locales?

Aquí hay 2 escenarios:

A) Eliminar un file local

1) git clone my_repo 2) cd my_repo 3) delete some file 4) git pull > Already up to date 

No, no es que he eliminado algunos files, ¿por qué no está bajando los files que faltan?

B) Cambiar un file

 1) git clone my_repo 2) cd my_repo 3) echo "xxx" >> some file 4) git pull > Already up to date 

¡No está actualizado, he cambiado un file!

¿Cómo puedo forzar a git a resincronizarse con el maestro remoto?

EDITAR

Debería haber mencionado inicialmente que esto es para el deployment, de ahí el requisito de sincronizar efectivamente el local con el maestro.

El command de extracción sincroniza su repository local con el repository remoto. Si ya tiene la última revisión, dirá "Ya está actualizado".

Sin embargo, puede consultar la última revisión nuevamente para deshacer los cambios.

En la raíz de su repository: git checkout . (Observe el punto) Verificará todos los files y revertirá todos los cambios a la revisión actual.

 git checkout path/to/a/file 

Verificará ese file de la revisión actual. Y revertir ese file actual, también trabajar con carpetas.

Ver: man git checkout para más información.

Pull es principalmente una buena interfaz para la recuperación y los comentarios asociados, como la synchronization y el restablecimiento. Para get el comportamiento que desea tenemos que bajar al siguiente nivel. Como tal, intente get esto y luego limpie su copy de trabajo:

 git fetch origin master git reset --hard FETCH_HEAD git clean -df