Bifurcación desde una confirmación anterior usando Git
Si tengo n
varias confirmaciones, ¿cómo puedo crear una rama a partir de la n-3
confirmación?
Aceptado
Crea la rama usando un hash de confirmación:
git branch branch_name <commit-hash>
O usando una referencia simbólica:
git branch branch_name HEAD~3
Para verificar la rama mientras la crea, use:
git checkout -b branch_name <commit-hash or HEAD~3>
Para hacer esto en github.com:
- Ve a tu proyecto.
- Haga clic en "Confirmar".
- Haga clic en <> ("Examinar el repositorio en este punto del historial") en la confirmación desde la que desea realizar la bifurcación.
- Haga clic en el "árbol: xxxxxx" arriba en la esquina superior izquierda. Justo debajo de la barra de estadísticas de idioma, tendrá la opción "Buscar o crear sucursal" (simplemente escriba un nuevo nombre de sucursal allí)
La magia se puede hacer con git reset .
Cree una nueva rama y cambie a ella (para que todas sus últimas confirmaciones se almacenen aquí)
git checkout -b your_new_branch
Vuelva a su rama de trabajo anterior (suponga que es maestra)
git checkout master
Elimine las últimas confirmaciones x, mantenga limpio el maestro
git reset --hard HEAD~x # in your case, x = 3
A partir de este momento, todas las últimas confirmaciones x están solo en la nueva rama, ya no en su rama de trabajo anterior (maestra).