Presta atención porque en esta crónica encontrarás la solución que buscas.Este enunciado ha sido evaluado por nuestros especialistas para asegurar la calidad y veracidad de nuestro post.
Solución:
Si aún no ha realizado ningún compromiso, solo (1: rama) y (3: pago) serían suficientes.
O, en un comando: git checkout -b newBranch
Como se menciona en el git reset
página man:
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
- Has realizado algunas confirmaciones, pero te das cuenta de que eran prematuras para estar en el “
master
” rama. Desea continuar puliéndolos en una rama de tema, así que cree “topic/wip
” bifurcarse de la corrienteHEAD
. - Rebobinar el
master
branch para deshacerse de esos tres commits. - Cambiar a “
topic/wip
“sucursal y a seguir trabajando.
Nota: debido al efecto “destructivo” de un git reset --hard
comando (restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos rastreados en el árbol de trabajo desde
se descartan), prefiero ir con:
$ git reset --soft HEAD~3 # (2)
Esto aseguraría que no estoy perdiendo ningún archivo privado (no agregado al índice).
los --soft
La opción no tocará el archivo de índice ni el árbol de trabajo en absoluto (pero restablece la cabeza a
al igual que todos los modos).
Con Git 2.23+, el nuevo comando git switch
crearía la rama en una línea (con el mismo tipo de reset --hard
así que cuidado con su efecto):
git switch -f -c topic/wip HEAD~3
Como se indica en esta pregunta: Git: cree una rama a partir de cambios no etiquetados/no comprometidos en el maestro: no es necesario guardar.
Solo usa:
git checkout -b topic/newbranch
Cualquier trabajo no comprometido será llevado a la nueva sucursal.
Si intenta presionar obtendrá el siguiente mensaje
fatal: la función de rama actual/NEWBRANCH no tiene rama ascendente. Para empujar la rama actual y configurar el control remoto como ascendente, use
git push --set-upstream origin feature/feature/NEWBRANCH
Simplemente haga lo sugerido para crear la rama de forma remota:
git push --set-upstream origin feature/feature/NEWBRANCH
Sigue estos pasos:
-
Crear una nueva sucursal:
git branch newfeature
-
Pagar nueva rama: (esto no restablecerá su trabajo).
git checkout newfeature
-
Ahora confirme su trabajo en esta nueva rama:
git commit -s
El uso de los pasos anteriores mantendrá su rama original limpia y no tendrá que hacer ningún ‘git reset –hard’.
Reseñas y puntuaciones del post
Tienes la posibilidad dar difusión a este ensayo si te fue de ayuda.