La request de extracción en GitHub no muestra que se solucionó el conflicto de combinación y no muestra mis confirmaciones

Estoy arreglando conflictos de fusión para otros queueboradores en la línea de command. Todavía estoy aprendiendo cómo funciona Git aquí, así que tengan paciencia conmigo …

Al igual que…

git checkout -b otherusersbranch master git pull https://github.com/otheruser/myrepo.git otherusersbranch 

…. encontrar y arreglar conflictos

 git add . git commit -m "fixing merge conflicts" git push origin otherusersbranch git checkout master git merge --no-ff otherusersbranch git push origin master 

Cuando el conflicto de fusión aparece corregido desde la command-line, presiono el cambio a la twig del queueborador como siempre. Sin embargo, el indicador de conflicto de combinación en la request de extracción no ha cambiado y no puedo ver mis confirmaciones en la request de extracción. ¿Qué estoy haciendo mal?

No creo que esté presionando con éxito los cambios en la sucursal del usuario. Intente enviar una request de extracción a esa twig. De lo contrario, debes darte permiso para presionar directamente.

Según lo que has descrito, solo estás impulsando cambios en tu propia sucursal, por lo que no aparece en el historial de confirmaciones.

Asumiendo que estás en la twig de otro usuario, podrías hacer que tus amigos cambien haciendo

 git pull https://github.com/otheruser/myrepo.git otherusersbranch 

Luego resuelve los conflictos de fusión, agrega tu confirmación y presiona esto hacia tu control remoto. No puede enviar sus cambios a la sucursal de su amigo a less que le haya otorgado el acceso correcto.

Idealmente, usted quiere que empuje sus cambios a un repository central donde ambos puedan ir y venir, usted aplica su compromiso en la parte superior de la suya y envía una request de extracción.

Si puede enviar directamente a la sucursal de su queueborador (lo que obtengo de la suposition de que https://github.com/otheruser/myrepo.git es su tenedor y el origin es de su contribuyente), entonces el motivo por el que las modificaciones no se muestran en la request de extracción de su tenedor al origen es que está presionando los cambios directamente, eludiendo así el process de request de extracción.

Explicar: cuando abres una request de extracción desde tu tenedor contra el tenedor de tu amigo y la combinan, eso es equivalente a haberlo hecho

 git fetch <your-fork> master git merge <your-fork>/master 

o

 git pull <your-fork> master 

seguido por

 git push <their-fork> master 

Si continúa y presiona para <their-fork> , que en este caso es origen, entonces esencialmente ya ha hecho lo que la request de extracción habría hecho. Además, cuando presionó <their-fork> lugar de <your-fork> después de solucionar los conflictos de combinación, github ve exactamente los mismos conflictos de fusión que antes en la request de extracción porque <your-fork> no se ha actualizado, por lo que ahora tienes conflictos de fusión con la versión "fija". Cuando se elude el process de PR, git no tiene ni idea, pero git HUB se confunde mucho (las requestes de extracción se basan totalmente en github; no hay concepto de una "request de extracción" en git).

La forma más simple de arreglar esto es simplemente cerrar el PR abierto, ya que esencialmente lo ha combinado de todos modos. Sin embargo, si desea conservar el flujo de trabajo de la request de extracción, puede tomar la twig principal de su amigo, hacer una

 git reset --hard 

antes de empujar hacia él, y luego

 git checkout -b tmp git cherry-pick otheruserbranch <list-of-commits-you-made> git checkout master git merge tmp git push <your-fork> master 

lo que haría que tu RP vuelva a verse como tú quieres (es posible que tengas que hacer algunos ajustes allí, no soy muy claro en la estructura de tu twig, pero esa es la esencia)

NOTA: Mire aquí la documentation sobre el git reset , y asegúrese de comprender las consecuencias de un restablecimiento completo antes de usarlo.