Git: cuando se bifurca BranchA, ¿cómo restablezco mi nueva BranchB Branch para que no tenga ningún contenido de BranchA?

He estado trabajando mucho en BranchA.

Ahora quiero crear una nueva twig BranchB local y desplegar esta twig remota desde GitHub.

Sin embargo, al hacer git checkout -b BranchB todavía tendrá todos los cambios que realicé en BranchA.

¿Cómo reinicio esta twig para que no tenga nada, así que puedo extraer una BranchB limpia de GitHub?

Gracias.

Suponiendo que BranchB está en el server, simplemente haga que git checkout BranchB (sin la opción -b ). Esto creará BranchB y hará que rastree automáticamente origen / BranchB. Si ya ha creado localmente BranchB "incorrecto", asegúrese de eliminarlo con git branch -d BranchB primero.

Puede crear una twig que comience desde un cierto punto de su historial con este command:

 git checkout -b BranchB <sha1> 

Este command hace 2 cosas:

  • Crea una twig local llamada BranchB que comienza desde <sha1>
  • HEAD se cambia a esta twig con su tree de trabajo

Luego puedes presionar y rastrearlo:

 git push origin BranchB --set-upstream 

Tenga en count que <sha1> podría ser:

  • origen / maestro
  • origen / maestro ~ 1
  • BranchA ~ 2
  • de hecho, cualquier compromiso es sha1

Si ya tiene una twig local o remota "mala" cuyo nombre es BranchB, puede eliminarlas:

 git push origin :BranchB # Deletes the remote branch origin/BranchB git branch -d BranchB # Deletes the local branch BranchB (if merged, no risk to loose data) git branch -D BranchB # Deletes the local branch BranchB (force for not merged branches)