Solución:
Si los cambios no se confirman.
puede guardar los cambios en la rama maestra.
git stash
luego revisa la sucursal
git checkout -b newbranchname
y abre los cambios aquí
git stash pop
Si se confirman los cambios:
luego crea una rama:
git checkout -b newbranch
pago de nuevo a la sucursal principal:
git checkout master
restablecer a la confirmación anterior:
git reset --hard head^1
Puede crear una nueva rama apuntando al Actual comprometerse usando git branch branchname
(o git checkout -b branchname
si quieres comprobarlo directamente). Básicamente, esto duplicará su rama maestra, por lo que puede continuar trabajando allí.
Si ha copiado correctamente la rama, puede restablecer master
a su punto original usando git reset --hard commit
dónde commit
es el hash de la confirmación que debería ser el último en master.
Entonces, por ejemplo, tienes una situación como esta:
---- 1 ---- 2 ---- 3 ---- 4 ---- 5 ---- 6
^ ^
original master
master commit
Así que has comprobado master
en el compromiso 6
y quieres crear una nueva rama ticket
señalando eso 6
mientras se reinicia master
para 3
:
git branch ticket
git reset --hard 3
git checkout ticket
Y luego estás en ticket
apuntando a comprometerse 6
, tiempo master
puntos a 3
.
Si se ha comprometido (digamos) 2 veces después de darse cuenta de que debería haber estado en una rama, simplemente hágalo
git branch work_branch
git reset --hard HEAD~2
reemplace el 2 con el número de confirmaciones que desea realizar. Todavía estará en el maestro en este punto, si desea pasar a la rama para continuar trabajando, simplemente git checkout work_branch
ver git rev-parse --help
si desea comprender la sintaxis de cómo recorrer su árbol de confirmación con referencias como HEAD~2