Creé una twig fuera de la twig incorrecta en git y ya fusioné la antigua twig en maestra, ¿cómo elimino las confirmaciones de la otra twig?

Cuando creé una twig, accidentalmente la creé fuera de una twig experimental, y no quiero que ninguno de esos cambios se haya realizado en nuestro repository SVN. La twig que creé ya estaba fusionada en maestra y la antigua twig descartada. Me di count de lo que estaba por hacer antes de ejecutar git svn dcommit.

¿Cómo puedo comprometer la única confirmación desde la twig original? Lo he seleccionado en git log.

Si tiene una situación como esta:

 x - x - x - x - x1 -------- m - y - y (maestro)
     \ /
      \ /
       -o - o - o - z - z (eliminado)

Tú podrías:

  • hacer una twig tmp , labelr m restablecer a x1
  • use git reflog para get el HEAD de la twig eliminada 'br' y cree una twig 'br' en él, y marque o1 (los últimos 'antiguos' commits antes de sus commits experimentales)
               [tagM]
                 -m - y - y (tmp)
                /
               /
 x - x - x - x - x1 (maestro)
     \                
      \              
       -o - o - o1 - z - z (br)
             [tagO]
  • git checkout br && git rebase –onto master o1
               [tagM]
                    -m - y - y (tmp)
                   /
                  /
 x - x - x - x ------ x1 (maestro)
     \ \            
      \ \    
       -o - o - o1 z - z (br)
             [tagO]
  • fusiona solo los commits que quieras dominar: git checkout master && git merge br
                 [tagM]
                    -m - y - y (tmp)
                   /
                  /
 x - x - x - x ------ x1 -------- m2 (maestro)
     \ \ /      
      \ \ /
       -o - o - o1 z '- z' (br)
             [tagO]
  • rebase los otros commits hechos desde la combinación inicial en la parte superior del master .
                 [tagM]
                    -metro
                   /
                  /
 x - x - x - x ------ x1 -------- m2 - y '- y' (maestro, tmp)
     \ \ /      
      \ \ /
       -o - o - o1 z '- z' (br)
             [tagO]
  • git checkout tmp && git rebase --onto master tagM && git merge master
    (fusión de avance rápido)