Как решить проблемы с git merge, когда попытка синхронизировать PR с мастером

возможно с tmux и netcat:

mkfifo cf ; tmux new "cat cf" \; split -h "nc -l  1234 > cf" ; rm cf   # server
mkfifo cf ; tmux new "cat cf" \; split -h "nc $IP 1234 > cf" ; rm cf   # client

... или полная версия на основе тех же инструментов:

#!/usr/bin/env bash
# lanchat script, server: "./lanchat", client: "./lanchat serverIpAddr"

port=1234 ; [ -z "$1" ] && target='-l' || target="$1"
LOG=$(mktemp) ;    trap 'rm "$LOG"' EXIT INT TERM HUP

tmux new "watch -n1 cat $LOG" \; split -l 1 \
  "  while read ME; do echo \"> me: \$ME\" >> $LOG ; echo \"\$ME\" ; done \
   | nc $target $port \
   | while read HE; do echo \"< he: \$HE\" >> $LOG ; done"
0
29.04.2018, 15:07
2 ответа

Es posible que desee probar git pull -r. Este (intenta )agregar cambios remotos "debajo" de sus cambios locales, luego puede git pushrecuperar el resultado.

0
28.01.2020, 04:24

Como respuesta -ya que tengo algo que me funciona.

En primer lugar -Me parece que he estado siguiendo el proceso equivocado.

El proceso que uso ahora es:-inicio-

  1. tenedor de algún lugar
  2. clonar mi tenedor "como origen"
  3. agregue "en algún lugar" como origen remoto _

Este directorio lo llamo "maestro", por ejemplo, cpython -maestro para mi bifurcación cpython

La 'única' actividad que hago con este directorio es "buscar y/o extraer" del origen remoto _y luego empujar al "origen".

Esto funcionaba antes -pero me estaba perdiendo cuando hice una rama (que se envió como PR pero no (todavía )se fusionó con el origen remoto _)y Quería actualizar ese PR para incluir las últimas actualizaciones.

Entonces, ¿qué funciona ahora?

  1. comienza con un nuevo clon "¡de mi tenedor!"
  2. cambia a la rama etiquetada que considero 'más reciente'
  3. extraer/buscar mi rama anterior en una nueva rama
  4. hacer que todo funcione -tal vez necesite enjuagar y repetir este paso
  5. elija un nombre de sucursal (tal vez el mismo que el anterior, tal vez nuevo)
  6. confirmar localmente
  7. empuje a github

Lo que marcó la diferencia para mí fue no tratar de fusionar las actualizaciones de cualquier origen en mi rama 'existente', sino ir a la etiqueta de orígenes remota 'nueva' _en un clon de mi bifurcación, y luego "tirar " mi solicitud de extracción en esa situación.

Si bien no tengo absolutamente claro por qué esto funciona mejor -al menos no veo:

hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
0
28.01.2020, 04:24

Теги

Похожие вопросы