¿Cómo puedo decirle a git que ignore mi archivo local y tome el de mi rama remota sin intentar fusionarme y causar conflictos?
Esta es la solución más segura:
git stash
Ahora puedes hacer lo que quieras sin temor a conflictos.
Por ejemplo:
git checkout origin/master
Si desea incluir los cambios remotos en la rama maestra, puede hacer lo siguiente:
git reset --hard origin/master
Esto hará que ramifiques "maestro" para que apunte a "origen / maestro".
git stash; git fetch origin; git reset --hard origin/master
git stash
? git stash list
esta vacio.
Entiendo la pregunta de esta manera: desea reemplazar por completo el contenido de un archivo (o una selección) desde arriba. No desea afectar el índice directamente (por lo que debería pasar por add + commit como de costumbre).
Simplemente haz
git checkout remote/branch -- a/file b/another/file
Si desea hacer esto para subárboles extensos y, en cambio, desea afectar el índice directamente, use
git read-tree remote/branch:subdir/
Luego puede (opcionalmente) actualizar su copia de trabajo haciendo
git checkout-index -u --force
Tengo entendido que, por ejemplo, guardó erróneamente un archivo que había actualizado solo con fines de prueba. Luego, cuando ejecuta "git status", el archivo aparece como "Modificado" y dice algunas palabras malas. Solo desea recuperar la versión anterior y continuar trabajando normalmente.
En ese escenario, puede ejecutar el siguiente comando:
git checkout -- path/filename
Verificaría el archivo remoto del "maestro" (el repositorio remoto / de origen) de esta manera:
git checkout master <FileWithPath>
Ejemplo: git checkout master components / indexTest.html
Use la opción -s
o --strategy
combinada con la -X
opción. En su pregunta específica, desea conservar todos los archivos remotos y reemplazar los archivos locales del mismo nombre.
Reemplazar conflictos con la versión remota
git merge -s recursive -Xtheirs upstream/master
utilizará la versión de repositorio remoto de todos los archivos en conflicto.
Reemplazar conflictos con la versión local
git merge -s recursive -Xours upstream/master
utilizará la versión de repositorio local de todos los archivos en conflicto.
git merge -s their
.