GIT: Trabajar con remotos

  • Cuando queremos trabajar en un proyecto con un equipo de trabajo lo debemos hacer con repositorios remotos, esto es lo que vamos hablar en esta sección.
  • Para esto vamos a utilizar gitHub, con mi usuario voy a crear un nuevo repositorio
  • Ahora vamos hacer una nueva carpeta en html
mkdir /var/www/html/git_trabajar_remotos
cd /var/www/html/git_trabajar_remotos
  • Ahora clonamos este proyecto
git clone https://github.com/abelhongo1983/git_trabajar_remotos.git
  • Nos indica que el repositorio esta vacío pero de momento no importa
Clonar en «git_trabajar_remotos»...
warning: Parece que ha clonado un repositorio vacío.
  • Ingresamos a la carpeta del proyecto
cd git_trabajar_remotos
  • Y podemos ejecutar el comando «git remote» que nos muestra los repositorios remotos en este caso «origin» es el nombre que le da gitHub
git remote 
origin
  • Y con la opción «-v» muestra las URL asociada a dicho repositorio
origin https://github.com/abelhongo1983/git_trabajar_remotos.git (fetch)
origin https://github.com/abelhongo1983/git_trabajar_remotos.git (push)
  • Si estamos trabajando en un proyecto que puede tener más de un repositorio se vería algo así:
bakkdoor https://github.com/bakkdoor/grit (fetch)
bakkdoor https://github.com/bakkdoor/grit (push)
cho45 https://github.com/cho45/grit (fetch)
cho45 https://github.com/cho45/grit (push)
defunkt https://github.com/defunkt/grit (fetch)
defunkt https://github.com/defunkt/grit (push)
koke git://github.com/koke/grit.git (fetch)
koke git://github.com/koke/grit.git (push)
origin git@github.com:mojombo/grit.git (fetch)
origin git@github.com:mojombo/grit.git (push)

Añadir Repositorios Remotos

  • Si desea añadir un repositorio remoto y darle un nombre
git remote add nombre_a_dar https://github.com/paulboone/ticgit

Traer y Combinar Remotos (fetch y pull)

  • Si deseamos traer los datos del proyecto que hemos creado, utilizamos el comando «fecth» donde nuestro caso se llama «origin»
git fetch origin 
  • Es importante destacar que el comando git fetch solo trae datos a tu repositorio local – ni lo combina automáticamente con tu trabajo ni modifica el trabajo que llevas hecho. La combinación con tu trabajo debes hacerla manualmente cuando estés listo.
  • Por este problema si desea traer y combiar automáticamente la rama remota puedes usar el comando «pull»
git pull origin

Enviar a Tus Remotos

  • Si quieres compartir el proyecto, debes enviarlo al servidor para hacer esto vamos a ingresar a «primer_proyecto_git»
  • Aseguramos que todos los cambios están conformados
git status
En la rama master
nothing to commit, working tree clean
  • Ahora vamos a relacionar nuestro proyecto al repositorio remoto el cual vamos a llamar «github»
git remote add github https://github.com/abelhongo1983/git_trabajar_remotos.git
git remote -v
github https://github.com/abelhongo1983/git_trabajar_remotos.git (fetch)
github https://github.com/abelhongo1983/git_trabajar_remotos.git (push)
  • Ahora podemos enviar nuestro proyecto al repositorio que llamamos «github» en la rama «master» este comando solo funciona si clonaste de un servidor en el que tiene permiso de lectura y escritura.
git push github master
Username for 'https://github.com': abelhongo1983
Password for 'https://abelhongo1983@github.com': 
Counting objects: 24, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (18/18), done.
Writing objects: 100% (24/24), 2.35 KiB | 482.00 KiB/s, done.
Total 24 (delta 7), reused 0 (delta 0)
remote: Resolving deltas: 100% (7/7), done.
To https://github.com/abelhongo1983/git_trabajar_remotos.git
 * [new branch] master -> master
  • Ahora si actualizamos la pagina github del proyecto vemos que los archivos ya están

Inspeccionar un Remoto

  • Si desea ver más información acerca de un servidor remoto en particular puede ejecutar el comando:
git remote show github
* remote github
 Fetch URL: https://github.com/abelhongo1983/git_trabajar_remotos.git
 Push URL: https://github.com/abelhongo1983/git_trabajar_remotos.git
 HEAD branch: master
 Remote branch:
 master tracked
 Local ref configured for 'git push':
 master pushes to master (up to date)

Eliminar y Renombrar Remotos

  • Si deseamos renombrar el remoto «github» a «origin» para que mantenga el nombre default
git remote rename github origin
git remote
  • Es importante destacar que al hacer esto también cambias el nombre de las ramas remotas. Por lo tanto, lo que antes estaba reverenciado como pb/master ahora lo está como paul/master.
  • Si por alguna razón quieres eliminar un remoto – has cambiado de servidor o no quieres seguir utilizando un mirror, o quizás un colaborador a dejado de trabajar en el proyecto – puedes usar git remote rm:
git remote rm nombre_remoto