git revertir cambios y cancelar request de extracción

Lamentablemente, después de años trabajando con subversión, estoy tratando de calentarme con git. El problema es el siguiente:

  • bifurqué un proyecto remoto.
  • push commits (que ahora quiero revertir o simplemente desaparecer!) a mi propio control remoto.
  • pull solicitado con mis cambios en el paso anterior.

Visualmente parece;

proyecto original:

A->B->C->D->E 

mi propio tenedor remoto (x, y, z son mis compromisos para revertir o eliminar si es posible):

 A->X->Y->Z->C->D->E 

Quiero que mi control remoto bifurcado sea igual que el control remoto original. Sin embargo, después de que intenté revertir (con git revert [HASH]) mi commits uno por uno y empujando esos revierte a mi propio control remoto, parece que la request de extracción no desapareció.

Lo último sería eliminar mi tenedor y reformar el proyecto original, si no pudiera encontrar una solución.

Alguna sugerencia antes de hacer eso?

Suponiendo que tiene estos dos controles remotos definidos en su repository local:

  • origen: apunta al repository original
  • remote2: apunta a tu propio tenedor personal

Y desea forzar la actualización desde origin/somebranch a remote2/otherbranch , podría hacer esto:

 # make sure you have up to date branch data locally git fetch origin git fetch remote2 # force push to remote2 from origin git push remote2 origin/somebranch:otherbranch --force 

Para restablecer una twig local al mismo estado que una twig remota:

 git reset --hard origin/somebranch 

Nota: en términos de PR (Solicitud de extracción de GitHub), ahora (24 de junio de 2014) puede cancelar un RP fácilmente
(Ver también " Revertir una request de extracción "):

Presentamos el button Revertir

puede revertir fácilmente una request de extracción en GitHub haciendo clic en Revertir:

https://camo.githubusercontent.com/0d3350caf2bb1cba53123ffeafc00ca702b1b164/68747470733a2f2f6769746875622d696d616765732e73332e616d617a6f6e6177732e636f6d2f68656c702f70756c6c5f72657175657374732f7265766572742d70756c6c2d726571756573742d6c696e6b2e706e67

Se le pedirá que cree una nueva request de extracción con los cambios revertidos:

https://camo.githubusercontent.com/973efae3cc2764fc1353885a6a45b9a518d9b78b/68747470733a2f2f6769746875622d696d616765732e73332e616d617a6f6e6177732e636f6d2f68656c702f70756c6c5f72657175657374732f7265766572742d70756c6c2d726571756573742d6e65772d70722e706e67

Supongamos que está en su twig principal y desea borrar algunas confirmaciones, puede git rebase -i A para ejecutar y eliminar las confirmaciones no deseadas de su repository local. ( hay algunas buenas informaciones de git rebase -i en GitHub )

A continuación, puede git push --force origin master:master sobrescriba la twig master remota con la twig local. (advertencia, no soy responsable del código perdido que resulta de esto: P).

Para su request de extracción, es más un problema de GitHub que uno de mierda, creo que puede cerrarlo fácilmente en la página web.

FYI git revert HASH realidad crea un compromiso que niega el parche de HASH, realmente no revierte nada como lo pretendías;)