Bifurcación desde una confirmación anterior usando Git

Resuelto dole doug asked hace 14 años • 23 respuestas

Si tengo nvarias confirmaciones, ¿cómo puedo crear una rama a partir de la n-3confirmación?

dole doug avatar May 12 '10 14:05 dole doug
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>
CB Bailey avatar May 12 '2010 07:05 CB Bailey

Para hacer esto en github.com:

  1. Ve a tu proyecto.
  2. Haga clic en "Confirmar".
  3. Haga clic en <> ("Examinar el repositorio en este punto del historial") en la confirmación desde la que desea realizar la bifurcación.
  4. 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í)Rama del compromiso anterior
OneSolitaryNoob avatar Aug 08 '2013 22:08 OneSolitaryNoob

La magia se puede hacer con git reset .

  1. Cree una nueva rama y cambie a ella (para que todas sus últimas confirmaciones se almacenen aquí)

    git checkout -b your_new_branch
    
  2. Vuelva a su rama de trabajo anterior (suponga que es maestra)

    git checkout master
    
  3. 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).

Jing Li avatar Aug 03 '2015 09:08 Jing Li