¿Cómo vuelvo a tomar un repository Git bifurcado sin borrar y volver a bifurcar?

Aquí está el escenario: doy el repository de alguien de Github y lo clono en un directory local. Hago un cambio, lo comprometo y lo empujo a mi repository bifurcado. A continuación, envío una request de extracción al repository original, pero se rechaza por cualquier motivo. El repository original recibe algunos commits de otras personas, dejando mi versión bifurcada desactualizada. Ahora, ¿cómo obtengo la última versión del repository original (en mi repository bifurcado y localmente)? Y también, ¿cómo elimino mi historial de commit de Github para mi commit rechazado?

Nunca haga sus propios cambios en la twig principal, debe crear una nueva twig, hacer los cambios y presionarla. De todas forms, si quieres que tu twig sea igual a la remota, haz lo siguiente:

Asumiendo que tienes el upstream como una captura de git fetch upstream remota git fetch upstream git checkout -f -B master upstream/master

El command de finalización que se muestra arriba sería si Branch Master está allí y sobrescribe con upstream / master si no está allí creado desde el upstream / master.

Si no tiene el upstream agregado como un uso git remote add upstream repositoryurl

EDITAR: debería ser -B

EDITAR: git reset --hard upstream/master es más apropiado en realidad

Mantener sincronizado su repository bifurcado en GitHub es un process de dos pasos.

  1. Mantenga su repository local sincronizado con:

    git search aguas arriba; git merge upstream / master

  2. Mantenga su fork en GitHub sincronizado con su repository local

    git push origin master

Ver GitHub Fork A Repo para una explicación. Necesita configurar 'ascendente' como un control remoto al repository desde el que bifurcó.

Para sus 'compromisos rechazados', si los hizo en una sucursal local, entonces puede simplemente eliminar la sucursal. Si no se encuentra en una sucursal local, deberá restablecer el HEAD de la sucursal de nuevo a la confirmación de su elección. Me gusta:

 # Assume you are on master and need to go back to commit BeadBabe git checkout -b temp git branch -f master BeadBabe git checkout master git branch -d temp 

Ido.