Git: ¿cuál es el control remoto configurado por defecto para la sucursal?
Tengo un repositorio desnudo remoto hub
. Trabajo solo en la master
sucursal. La última frase de este mensaje de error a continuación me hace preguntarme: ¿Cómo puedo saber cuál es el "control remoto configurado por defecto para su sucursal actual" ? ¿Y cómo lo configuro?
[myserver]~/progs $ git remote -v
hub ~/sitehub/progs.git/ (fetch)
hub ~/sitehub/progs.git/ (push)
[myserver]~/progs $ git branch -r
hub/master
[myserver]~/progs $ cat .git/HEAD
ref: refs/heads/master
[myserver]~/progs $ git pull hub
You asked to pull from the remote 'hub', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
Puedes hacerlo de forma más sencilla, garantizando que .gitconfig
quede en un estado significativo:
Usando Git versión v1.8.0 y superior
git push -u hub master
al empujar, o:
git branch -u hub/master
O
(Esto configurará el control remoto de la sucursal actualmente registrada en hub/master
)
git branch --set-upstream-to hub/master
O
(Esto configurará el control remoto de la sucursal nombrada branch_name
en hub/master
)
git branch branch_name --set-upstream-to hub/master
Si estás usando v1.7.x
o antes
debes usar --set-upstream
:
git branch --set-upstream master hub/master
Seguimiento de la sucursal remota
Puede especificar el repositorio remoto predeterminado para enviar y extraer usando la opción track de git-branch. Normalmente harías esto especificando la opción --track al crear tu rama maestra local, pero como ya existe, simplemente actualizaremos la configuración manualmente de esta manera:
Edita tu.git/config
[branch "master"]
remote = origin
merge = refs/heads/master
Ahora puedes simplemente git push y git pull.
[ fuente ]
En aras de la integridad: las respuestas anteriores indican cómo configurar la rama ascendente, pero no cómo verla.
Hay algunas maneras de hacer esto:
git branch -vv
muestra esa información para todas las sucursales. (formateado en azul en la mayoría de terminales)
cat .git/config
muestra esto también.
Para referencia:
- ¿Cómo consigo que Git me muestre qué ramas están rastreando qué?
- ¿Qué es este seguimiento de sucursales (si corresponde) en git?