No puedo hacer una request de extracción en los tenedores, ¿cómo puedo get mis cambios?

Así que soy nuevo en Git, por lo tanto, gran parte de mi terminología podría estar aquí.

  1. Entonces, hay un repository principal, vamos a llamarlo "Mainline"
  2. Mi compañero de equipo y yo bifurcamos Mainline para desarrollar características de forma independiente. Vamos a llamar a estos "teammatefork" y "myfork"
  3. Ocasionalmente, realizamos una request de extracción en nuestras horquillas para agregar nuestros cambios a Mainline
  4. Recientemente agregué un montón de código a "myfork", que es esencialmente código para build un arnés de testing. Decidimos volver a pasar "Mainline" a "TestHarness" para cometer esto
  5. Me acabo de dar count de que no puedo realizar una request de extracción en "myfork" para fusionar los cambios en "TestHarness"

¿Es lo correcto aquí para hacer una 'rebase'? – No estoy del todo seguro, pero suena bien. Básicamente, quiero get mis cambios de myfork en el tenedor TestHarness y ambos son tenedores de Mainline

Y luego me gustaría volver 2 revisiones en mi tenedor, así que estoy de vuelta donde comencé antes de agregar el código de arnés de testing

¿Puede alguien señalar qué se requiere la magia git para hacer esto?

Solutions Collecting From Web of "No puedo hacer una request de extracción en los tenedores, ¿cómo puedo get mis cambios?"

Si entiendo la pregunta correctamente, tienes 4 repositorys:

  • "Chutarse"
  • "MyFork"
  • "Compañero de equipoFork"
  • "TestHarness"

Usted se compromete con "MyFork" que quiere "mover" a "TestHarness".

En primer lugar, es posible que desee replantearse la forma en que maneja las horquillas. ¿Tus cambios en TestHarness son tan grandes que requieren un nuevo repository?

Si está seguro de que desea continuar con su ruta, creo que haría lo siguiente:

Primero iría a su repository "TestHarness" y agregaría su "MyFork" como un repository remoto y searchía sus datos:

git remote add myfork myfork_url git fetch myfork 

Entonces elegiría sus dos commits desde su repository "MyFork":

 git cherry-pick commit_1_hash git cherry-pick commit_2_hash 

Ahora deberías tener tus dos commits en tu tenedor "TestHarness".

Regrese a su "MyFork" y luego retroceda dos pasos de la siguiente manera:

 git reset --hard HEAD~2 

Tenga en count que esto eliminará sus cambios permanentemente en su fork "MyFork". Puedes eliminar el --hard si quieres conservarlos.

En cualquier momento, si desea ver el estado actual de su repository, intente

 git log --graph --decorate --all