Acceso directo equivalente para un git pull del repository a la twig actual

En git estoy usando el command pull para fusionar desde un repository diferente, por ejemplo:

git pull ../mortoray-main/ mortoray-main 

Esto searchá y fusionará la twig mortoray-main desde el otro repository en la twig actual en el repository actual.

Lo que estoy buscando es cómo configurar el atajo equivalente que puedo hacer esto:

 git pull mortoray 

En mi gitconfig agregué esto:

 [remote "mortoray"] url = ../mortoray-main/ fetch = mortoray-main 

El problema ahora es que cuando ejecuto git pull mortoray me git pull mortoray el error: " git pull mortoray que git pull mortoray desde el 'mortoray' remoto, pero no especificaste una twig. Como este no es el control remoto configurado por defecto para tu twig actual, debes especifica una twig en la línea de command ".

¿Cómo se configura el control remoto para que el atajo funcione como el command de extracción original?


Tenga en count que en lugar de 'git pull mortoray', lo siguiente funciona, pero por supuesto no es un atajo:

 git fetch mortoray git merge FETCH_HEAD 

Esto es exactamente lo que hace lo siguiente sin usar un "control remoto":

 git pull ../mortoray-main/ mortoray-main 

Entonces la pregunta es sobre el acceso directo, quiero un command de extracción que hace la búsqueda y la fusión para mí como lo hace el command de extracción original:

 git pull mortoray 

¿Hay alguna configuration que haga que este acceso directo funcione como se esperaba?

Debes asegurarte de que tu sucursal esté rastreando tu twig mortoray-main de mortoray repository de mortoray :

 git branch --set-upstream <your_current_branch> mortoray-main/mortoray 

(como se detalla en " ¿Cómo hacer que una twig de git existente rastree una twig remota? ")
Entonces, el git pull mortoray ahora debería ser la twig a rebase al recuperar la twig mortoray-main/mortoray .


El OP eda-qa-mort-ora-y agrega:

Esto no es un atajo, ya que tendré que cambiar continuamente la twig de seguimiento.
Es decir:

  • esta twig no rastrea permanentemente esa twig remota, me fusionaré de diferentes twigs en diferentes momentos.
  • Además, esta twig ya está rastreando una twig remota, lo que me gustaría mantener como tal

En cuanto a un atajo, para hacer reference a la twig actual, puedes inspirarte en " git push current branch ", que también tiene una idea válida para un git pull , declarando en .bashrc :

 get_git_branch() { echo `git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` } alias gpull='git pull mortoray-main `get_git_branch`' 

Si desea agregar parameters para el repository ascendente (es decir, no extraer siempre de mortoray-main , y para una twig local específica cuyo nombre difiere de la twig ascendente)

 alias gpull='git pull ${1:-origin} $2:`get_git_branch`' 

entonces gpull mortoray-main mortoray debe search la twig correcta y volver a establecer la base de su twig actual .

El OP edA-qa mort-ora-y menciona :

No quiero especificar el nombre de la sucursal local o remota: siempre voy a sacar de la sucursal llamada mortoray-main a lo que sea mi sucursal local.

Entonces este alias debería funcionar entonces:

 gpull='git pull mortoray mortoray:`get_git_branch\`' 

Creo que su pregunta ya ha sido respondida aquí . Necesitas eso en ti .git/config :

 [branch 'mortoray-main'] remote = mortoray # set mortoray as default remote for this branch merge = refs/heads/mortoray-main # set mortoray-main as default remote branch to merge 

EDITADO: Veo que ya ha rechazado esto, creo que sé lo que está tratando de hacer, y puede usar un alias …

Esencialmente, lo que tienes que hacer es agregar esa twig remota con el 'control remoto' que tenías en la primera publicación. En este punto, deberías poder git fetch y tendrás una mortoray/mortoray-main en el repository (esta es la remota).

El process desde aquí es git fetch && git merge mientras estás sentado en la twig en la que deseas fusionarlo. Esto se puede convertir en un alias en su file .git / config o ~ / .gitconfig. Debería ser algo así como (puede o no necesitar la parte git antes de los dos commands):

 alias pullmortoray = git pull && git merge 

Luego tipeas (con tabcompletion) git pullmortoray , y ¡voila!

¡DISFRUTAR A CONTINUACIÓN! para la posteridad en caso de que alguien ya haya comentado.

Casi lo tienes en la pregunta: el control remoto es correcto, solo necesitas configurar tu sucursal local para rastrear la twig ../mortoray/mortoray-main.

 git branch --set-upstream <current-branch> mortoray/mortoray-main 

haz esto para cada twig con la que desees rastrear la twig principal de mortoray, y luego una simple git pull hará el truco.