una revertir remota rama pasar partir otra forzar descargar crear cambios cambiar archivo git git-checkout

revertir - pasar cambios de una rama a otra git



Error al cambiar a la rama maestra: mis cambios locales serían sobrescritos por el pago y envío (5)

Me encontré con el mismo problema y lo resolví por

git checkout -f rama

Bueno, ten cuidado con el interruptor -f . Perderá cualquier cambio no confirmado si usa el modificador -f . Si bien puede haber algunos casos de uso en los que es útil usar -f , en la mayoría de los casos, es posible que desee stash los cambios y luego switch rama. El procedimiento de stashing se explica anteriormente.

Esta pregunta es similar a esta , pero más específica.

Tengo un proyecto con dos ramas ( staging y beta ).

Me desarrollo en la staging en staging , y uso la rama master para corregir errores. Entonces, si estoy trabajando en la puesta en escena y veo un error, cambio a la rama master :

git checkout master

y hacer las cosas

git add fileToAdd git commit -m "bug fixed"

y luego me fusiono con ambas ramas:

git checkout staging git merge master git checkout beta git merge beta

Y no importa si hay otros archivos en el árbol de trabajo.

Pero ahora, cuando intento cambiar a la rama master , aparece un error :

error: Your local changes to the following files would be overwritten by checkout: src/Pro/ConvocationBundle/Controller/DefaultController.php Please, commit your changes or stash them before you can switch branches. Aborting

Pensé que debería eliminar el archivo del área de preparación:

git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php

Pero estoy recibiendo el mismo error. Si hago git status no obtengo No changes to commit


Me encontré con el mismo problema y lo resolví por

git checkout -f branch

y su especificación es bastante clara.

-f, --fuerza

Al cambiar de rama, proceda incluso si el índice o el árbol de trabajo difieren de HEAD. Esto se utiliza para tirar los cambios locales.

Al retirar las rutas del índice, no falle en las entradas no combinadas; en su lugar, las entradas no combinadas se ignoran.


Puede cometer en la sucursal actual, realizar el pago en otra sucursal y, finalmente, seleccionar esa comilla (en lugar de fusionar).


Puede forzar el pago de su sucursal, si no desea confirmar sus cambios locales.

git checkout -f branch_name


Su error aparece cuando ha modificado un archivo y la rama a la que está cambiando también tiene cambios para este archivo (desde el último punto de fusión).

Sus opciones, tal como lo veo, son: confirmar y luego enmendar esta confirmación con cambios adicionales (puede modificar las confirmaciones en git, siempre y cuando no se push ). o - usar el alijo:

git stash save your-file-name git checkout master # do whatever you had to do with master git checkout staging git stash pop

git stash save creará un alijo que contiene sus cambios, pero no está asociado con ningún commit o incluso una rama. git stash pop aplicará la última entrada de alijo a su rama actual, restaurando los cambios guardados y eliminándolos del alijo.