¿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?

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).


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'.


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>

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.