возможно с 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"
Es posible que desee probar git pull -r
. Este (intenta )agregar cambios remotos "debajo" de sus cambios locales, luego puede git push
recuperar el resultado.
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-
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?
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.