Creo que git fetch es lo que estás buscando.
Extraerá los cambios y los objetos sin comprometerlos con el índice de su repositorio local.
Pueden fusionarse más tarde con git merge .
Página de hombre
Editar: Explicación adicional
Directamente desde el git- SVN Crash Course enlace
Ahora, ¿cómo se obtienen nuevos cambios desde un repositorio remoto? Los traes:
git fetch http://host.xz/path/to/repo.git/
En este punto, están en su repositorio y puede examinarlos usando:
git log origin
También puede diferenciar los cambios. También puede usar git log HEAD..origin para ver solo los cambios que no tiene en su rama. Entonces, si desea fusionarlos, solo haga:
git merge origin
Tenga en cuenta que si no especifica una rama para buscar, convenientemente se configurará de forma predeterminada el control remoto de seguimiento.
La lectura de la página del manual honestamente le dará la mejor comprensión de las opciones y cómo usarla.
Solo estoy tratando de hacer esto con ejemplos y memoria, actualmente no tengo un cuadro para probar. Deberías mirar:
git log -p //log with diff
Una recuperación se puede deshacer con git reset --hard ( enlace ), sin embargo, todos los cambios no confirmados en su árbol se perderán, así como los cambios que haya obtenido.