¿Forzar sobrescritura del archivo local con el repositorio de origen?

224

Quiero obtener el último archivo que está en el repositorio y sobrescribir lo que tengo localmente. ¿Cómo puedo hacer esto con el cliente git?

Blankman
fuente

Respuestas:

443

Si desea sobrescribir solo un archivo:

git fetch
git checkout origin/master <filepath>

Si desea sobrescribir todos los archivos modificados:

git fetch
git reset --hard origin/master

(Esto supone que está trabajando masterlocalmente y desea los cambios en el origen master; si está en una rama, sustitúyalo en su lugar).

Ámbar
fuente
Esto hizo lo contrario. Se sobrescribió el repositorio con mis archivos locales por error.
C_Rod
git fetch git reset --hard origin/mastero/<branch name>
adrian filipescu
Eso es genial ... Exactamente lo que estaba buscando. Gracias
Thiago Passos
No estoy seguro de lo que hizo @C_Rod, pero esto no puede afectar el repositorio
Brad Mace
26

La versión más simple, suponiendo que esté trabajando en la misma rama en la que se encuentra el archivo que desea:

git checkout path/to/file.

Hago esto tan a menudo que tengo un alias establecido gc='git checkout'.

JM Janzen
fuente
44
Simple, elegante, y hace el trabajo. Solo recuerda 'git fetch' antes.
Almir Campos
66
git checkout path/to/filetrabajó para mi. Además, este diagrama me pareció muy útil para comprender conceptualmente lo que git checkoutestá haciendo. enlace
Cale Sweeney
9

Esto funcionó para mí:

git reset HEAD <filename>
arn-arn
fuente
Vi bastantes soluciones diferentes, pero esta es la más efectiva, gracias
Calvin Zhou
3

La sincronización completa tiene pocas tareas:

  • deshaciendo cambios
  • eliminar nuevos archivos
  • obtenga lo último del repositorio remoto

git reset HEAD --hard

git clean -f

maestro de origen git pull

O bien, lo que prefiero es que puedo crear una nueva sucursal con lo último desde el control remoto usando:

git checkout origin/master -b <new branch name>

origin es mi referencia de repositorio remoto, y master es mi nombre de rama considerado. Estos pueden ser diferentes a los tuyos.

Chand Priyankara
fuente