Si aún no ha realizado ninguna confirmación, solo (1: rama) y (3: pago) serían suficientes.
O, en un comando:git checkout -b newBranch
Como se menciona en la git reset
página del manual :
$ 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 era prematuro estar en la
master
rama " ". Desea continuar puliéndolos en una rama de tema, así que cree una " topic/wip
" rama de la actual HEAD
.
- Rebobina la
master
rama para deshacerte de esos tres commits.
- Cambie a la
topic/wip
rama " " y siga 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 ya que <commit>
se descartan), preferiría ir con:
$ git reset --soft HEAD~3 # (2)
Esto aseguraría que no estoy perdiendo ningún archivo privado (no agregado al índice).
La --soft
opción no tocará el archivo de índice ni el árbol de trabajo (pero reinicia la cabeza <commit>
, al igual que todos los modos).
Con Git 2.23+ , el nuevo comandogit switch
crearía la rama en una línea (con el mismo tipo de reset --hard
, así que tenga cuidado con su efecto):
git switch -f -c topic/wip HEAD~3