Solo una aclaración (usando git versión 1.7.9.5 en ubuntu 12.04):
Git agregará / eliminará controles remotos. Estas son instancias remotas de git con un servidor conectado.
git remote add myremote git://remoteurl
Luego puede buscar dicho repositorio git de esta manera:
git fetch myremote
Parece que esto crea una rama llamada 'myremote', sin embargo, el control remoto para la rama no se configura automáticamente. Para hacer esto, debe hacer lo siguiente:
Primero, verifique que tiene este problema, es decir
git config -l | grep myremote
Deberías ver algo como:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
Si ve branch.myremote.remote=.
, entonces debe continuar:
git config branch.myremote.remote myremote
git checkout myremote
git pull
Ahora debe estar actualizado con el repositorio remoto, y sus tirones / empujes deben estar vinculados al control remoto apropiado. Puede cambiar los controles remotos de esta manera, por rama . [Nota 1]
De acuerdo con la documentación oficial de The Git Config , puede configurar una rama de inserción predeterminada (solo busque remote.pushdefault en esa página), sin embargo, tenga en cuenta que esto no afectará a los repositorios / ramas que ya existen, por lo que esto funcionará, pero solo para nuevos repositorios / sucursales. Debe recordar que --global
establecerá los valores predeterminados del repositorio específicos del usuario (~ / .gitconfig), --system
establecerá los valores predeterminados del repositorio en todo el sistema (/ etc / gitconfig), y ningún indicador establecerá las opciones de configuración para el repositorio actual (./.gitconfig).
También debe tenerse en cuenta que la opción de configuración push.default es para configurar el comportamiento de ref-spec , no el comportamiento remoto .
[1]: git branch --set-upstream myotherremote
generalmente funcionaría aquí, sin embargo, git se quejará de que no se establecerá una rama como su propio control remoto si git branch --set-upstream myremote
se usa. Sin embargo, creo que este es un comportamiento incorrecto.
git push -u <remote_name> <local_branch_name>:<corresponding_remote_branch_name>
.git push -u origin master:master
.git push
a empujar la rama remota de la rama local actual? Quiero decir que hacerlo significa que tengo que ejecutar este comando para cada rama. ¿Correcto? ¿No puedo hacer una configuración inicial para todo el repositorio? @MarcoLazzerigit push -u origin master
suficiente? ¿Estás ilustrando la sintaxis completa?