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