Trabajar en remoto con Git, es como todo el que se mueve en el mundo de la programación sabe, una necesidad imperativa.
Este gestor de versiones, posee entre una de sus características más potentes, que permite la participación de diferentes integrantes de un equipo en el desarrollo, a través del uso de branchs(ramas), lo cual enriquece enormemente las potencialidades de la colaboración.
Este es aún más interesante y útil si trabajamos con repositorios, hospedados en la red de internet u otra cualquiera de acceso remoto.
Los comandos que muestro hoy son para eso, o sea los que utiliza Git para conectar y trabajar con repositorios remotos.
Ya que podemos tener tantos repositorios remotos como deseemos, podremos tener tantas versiones de nuestro código como consideremos necesario, para lo cual vamos a precisar de un flujo de información flúido, sobre todo si vamos a interactuar con varios compañeros.
Aquí algunos de los comandos:
git remote
Muestra los nombres de los remotos que posees vinculados, o qué tienes especificado en git.
$ git remote -v
Devuelve las URLs que Git ha asociado al repositorio remoto. Son las que usará para interactuar con él.
git clone
Clona un repositorio en la dirección que le des: la sintáxis es:
git clone https://github.com/tu repositorio destino
Si luego de clonar, llamas al comando remote
, debe mostrar como mínimo el repositorio del que ha clonado, y lo hará nombrará origin
git remote add [nombre] [url]:
Añade un repositorio remoto
git fetch [remote-name]
Devuelve los datos de tus proyectos remotos.
Este comando, trae al nuestro, los datos de los proyectos alojados en los repositorios remotos, por lo que a partir de ese momento dispondremos de referencias a todas las ramas de ese remoto, con la posibilidad de poder inspeccionarlas o combinarlas
git fetch origin
En este caso por ejemplo, nos trae todo el trabajo nuevo que ha sido enviado a ese servidor desde que lo clonamos, o desde la última vez que trajimos datos de el.
Es importante destacar que el comando git fetch
solo trae datos a nuestro, repositorio local, pero no lo combina automáticamente con el proyecto que estamos desarrollando, ni tampoco actualiza lo que tengamos ya creado.
La combinación debe hacerse de mod manual.
aj https://github.com/Antonio_J/test (fetch)
aj https://github.com/antonio_J/test (push)
Con este comando asignamos el alias aj a este repositorio, y ya podemos usar ese nombre para enviar o traer datos en función de los permisos que tengamos.
Entonces para traer la información que tiene Antonio, podríamos hacer esto sencillamente:
$ git fetch aj
Esto nos dara al final algo como esto
* [new branch] master -> aj/master
* [newbranch] test -> aj/test
Ahora podemos acceder localmente a la rama maestra de Antonio, con el nombre aj/master, de igual modo, esta queda disponible para que podamos combinarla con alguna rama nuestra o inspeccionarla.
git push [nombre-remoto] [nombre-rama
Envía un proyecto a un servidor. Si por ejemplo lo que quieres es enviar tu rama master a tu servidor origin, debes ejecutar:
$ git push origin master
Este comando funciona solo en servidores clonados sobre los que tenemos permisos de escritura.
Una cuestión importante, es que funciona solo si nadie con los mismos permisos ha enviado datos entretanto.
Si un compañero clona el mismo repositorio y envía información antes que nosotros, no podremos enviar porque será rechazado.
La solucion más fácil a esto, es hacer un fetch
al compañero para bajar su código, combinarlo con el que tenemos y entonces hacer el push
al servidor.
git remote show [nombre-remoto]
Nos devuelve información sobre un servidor remoto especifico.
git remote show:
Nos da información sobre todos los servidores remotos y sus proyectos
Entre la información que nos brinda, nos dirá a cuál rama estamos enviando la información cuando ejecutamos git push
, también nos dice cualés ramas remotas aún no tenemos, las que serán combinadas si ejecutamos ejecutes git pull
, y las que han sido eliminadas del servidor.
git remote rename.
Modifica el nombre de la referencia de un remoto, con la sintaxis :
git remote rename aj antonio
Hemos renombrado el remoto aj como antonio
git remote rm aj
Elimina un remoto
Y listo, esto es todo.
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
…., si avanzo sígueme, si me detengo empújame, si retrocedo mátame…….