Acabo de hacer cambios en una rama. ¿Cómo puedo confirmar los cambios en la otra rama?
Estoy tratando de usar:
git checkout "the commmit to the changed branch" -b "the other branch"
Sin embargo, no creo que sea lo correcto, porque en este caso estoy creando una nueva rama en lugar de confirmar los cambios en "la otra rama".
¿Debo usar el siguiente comando en su lugar?
git merge "the other branch"
Respuestas:
git checkout -b your-new-branch
git add <files>
git commit -m <message>
Primero, revisa tu nueva sucursal. Luego, agregue todos los archivos que desea comprometer para la preparación. Por último, confirme todos los archivos que acaba de agregar. Es posible que desee hacer un
git push origin your-new-branch
después para que sus cambios se muestren en el control remoto.fuente
git status
para ver lo que está actualmente en escena y lo que no.git add
ygit commit -a
?git checkout -b your-new-branch
lugar degit checkout your-new-branch
?Si no has cometido cambios
Si sus cambios son compatibles con la otra rama
Este es el caso de la pregunta porque el OP quiere comprometerse con una nueva rama y también se aplica si sus cambios son compatibles con la rama de destino sin activar una sobrescritura.
Como en la respuesta aceptada por John Brodie, simplemente puede verificar la nueva sucursal y comprometer el trabajo:
Si sus cambios son incompatibles con la otra rama
Si obtiene el error:
Luego puede esconder su trabajo, crear una nueva rama, luego hacer estallar sus cambios de escondite y resolver los conflictos:
Será como si hubiera realizado esos cambios después de crear la nueva rama. Entonces puedes cometer como de costumbre:
Si ha cometido cambios
Si desea mantener las confirmaciones en la rama original
Vea la respuesta de Carl Norum con cherry-picking, que es la herramienta correcta en este caso:
Si no desea mantener las confirmaciones en la rama original
Vea la respuesta de joeytwiddle sobre este posible duplicado . Siga cualquiera de los pasos anteriores según corresponda, luego retroceda la rama original:
Si ha empujado sus cambios a un control remoto compartido como GitHub, no debe intentar esta reversión a menos que sepa lo que está haciendo.
fuente
error: Your local changes to the following files would be overwritten by checkout: ... Please commit your changes or stash them before you switch branches.
¿Desea escribir una nueva respuesta o editar mi respuesta? Si no, puedo editarlo yo mismo.Si entiendo bien, ¿se ha comprometido
changed_branch
y desea copiar ese compromisoother_branch
? Fácil:fuente