git-clonando-ramas-remotas-01

Ya tengo algún tiempo trabajando con Git y desde entonces mi vida ya no es la misma, pero no todo ha sido miel ya que al principio tuve que entender como vivir con Git a mi lado, pero entre más tiempo pasamos juntos nuestra relación es más profesional B-)

Sin embargo a veces  le pido que haga algo y suceden cosas inesperadas como el clonar una rama remota y entonces me doy cuenta que no se pedir la cosas, así que dedos a las teclas…

Lo primero es saber que sucede cuando se clona un repo, por ejemplo:

$ git clone https://github.com/rctorr/javascripting-mini.git
Clonar en «javascripting-mini»...
remote: Counting objects: 127, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 127 (delta 4), reused 0 (delta 0), pack-reused 110
Receiving objects: 100% (127/127), 567.56 KiB | 267.00 KiB/s, done.
Resolving deltas: 100% (41/41), done.
Checking connectivity... done
$

hasta aquí se crea un repo local en la carpeta javascripting-mini con la rama master y con un repo remoto agregado.

Para comprobar esto dentro de la carpeta del repo local ejecutar:

$ cd javascripting-mini
javascripting-mini $ git branch
* master
javascripting-mini $

Pero aquí es donde hay que aprender a preguntar bien, ya que branch sólo muestra las ramas existentes locales y la rama actual es marcada con un asterisco y eso es lo que dice la ayuda de git (git help branch) y la misma ayuda dice que si queremos ver las ramas remotas usemos…

javascripting-mini $ git branch -r
  origin/HEAD -> origin/master
  origin/gh-pages
  origin/master
javascripting-mini $

Ahora si queremos trabajar en alguna de las ramas remotas de manera local, tan simple como pedirle a Git que lo haga amablemente de la siguiente forma:

javascripting-mini $ git checkout gh-pages
Branch gh-pages set up to track remote branch gh-pages from origin.
Switched to a new branch 'gh-pages'
javascripting-mini $

Y la lista de ramas locales es:

javascripting-mini $ git branch
* gh-pages
  master
javascripting-mini $

Genial, ahora si ya tenemos la rama gh-pages local y además es la rama activa, justo como lo queríamos.

Y entonces sólo nos queda ser felices en nuestra nueva vida!

git commit -m "Salu2+"