¿Qué hace git --set-upstream
?
Traté de entenderlo leyendo el manual de git , pero no lo entendí.
¿Qué hace git --set-upstream
?
Traté de entenderlo leyendo el manual de git , pero no lo entendí.
Respuestas:
git branch --set-upstream <remote-branch>
establece la rama remota predeterminada para la rama local actual.
Cualquier git pull
comando futuro (con la rama local actual desprotegida)
intentará introducir los compromisos de la <remote-branch>
rama local actual.
Una forma de evitar tener que escribir explícitamente --set-upstream
es usar su indicador abreviado de la -u
siguiente manera:
git push -u origin local-branch
Esto establece la asociación ascendente para cualquier intento futuro de empujar / tirar automáticamente.
Para obtener más detalles, consulte esta explicación detallada sobre las sucursales y el seguimiento en sentido ascendente .
Para evitar confusiones, las versiones recientes de
git
desaprobar esta--set-upstream
opción algo ambigua en favor de una--set-upstream-to
opción más detallada con idéntica sintaxis y comportamientogit branch --set-upstream-to <origin/remote-branch>
git push -u origin local-branch
¿qué origin
representa? ¿Hay algún caso en el que escribiría algo más que origin
después de -u
?
origin
refiere al repositorio remoto de git que se usó para clonar. Puede haber múltiples repositorios git remotos . En tal caso, origin
se puede reemplazar con el nombre apropiado del control remoto deseado al que se desea hacer referencia.
git remote -v
para encontrar sus controles remotos, el predeterminado origin
generalmente es
Cuando empuja a un control remoto y usa el --set-upstream
indicador git establece la rama a la que está presionando como la rama de seguimiento remoto de la rama que está presionando.
La adición de un medio de ramificación de seguimiento remoto que git entonces sabe lo que quiere hacer cuando usted git fetch
, git pull
o git push
en el futuro. Se supone que desea mantener sincronizada la rama local y la rama remota que está rastreando y hace lo apropiado para lograrlo.
Podrías lograr lo mismo con git branch --set-upstream-to
o git checkout --track
. Consulte las páginas de ayuda de git sobre el seguimiento de sucursales para obtener más información.
git branch --set-upstream <<origin/branch>>
oficialmente ya no es compatible y se reemplaza por git branch --set-upstream-to <<origin/branch>>
--set-upstream-to
que se introdujo debido a las confusiones (IIRC) en la configuración aguas arriba.