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.
Mantenga su repository local sincronizado con:
git search aguas arriba; git merge upstream / master
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.