Sé cómo crear una nueva rama que siga las ramas remotas, pero ¿cómo hago que una rama existente siga una rama remota?
Sé que puedo editar el archivo .git/config
, pero parece que debería haber una manera más fácil.
Usted puede hacer lo siguiente (suponiendo que se comprueba en el maestro y quiere empujar a un maestro rama remota):
Configurar el 'remote' si no lo tienes ya
git remote add origin ssh://...
Ahora configure el maestro para saber que debe rastrear:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
Y empujar:
git push origin master
Puede que encuentres útil la herramienta git_remote_branch
. Ofrece comandos simples para crear, publicar, borrar, rastrear y renombrar ramas remotas. Una buena característica es que puedes pedir a un comando grb
que explique qué comandos git ejecutaría.
grb explain create my_branch github
# git_remote_branch version 0.3.0
# List of operations to do to create a new remote branch and track it locally:
git push github master:refs/heads/my_branch
git fetch github
git branch --track my_branch github/my_branch
git checkout my_branch
Editar .git/config
es probablemente la forma más fácil y rápida. De todos modos, eso es lo que hacen los comandos de Git para manejar las ramas remotas.
Si no quieres manipular el archivo a mano (y no es tan difícil de hacer), siempre puedes usar git config
para hacerlo... pero de nuevo, eso sólo va a editar el archivo .git/config
, de todos modos.
Hay, por supuesto, formas de rastrear automáticamente una rama remota cuando se usa git checkout
(pasando la bandera --track
, por ejemplo), pero estos comandos funcionan con nuevas ramas, no con las existentes.