DESCARGANDO EL REPOSITORIO
El siguiente paso que debemos realizar es descargar el repositorio. Si bien al momento de crearlo sólo tiene, a la vista, los archivos básicos como el “.gitignore”, bajar el repositorio implica también crear la estructura de carpetas necesaria para poder trabajar con Git. Y para esto vamos a necesitar un programa que pueda leer repositorios. Tenemos varias alternativas, les dejo dos de las que más uso:
Github Desktop
Es el programa oficial de la página Github. Es sencillo, tiene todo lo que mayoritariamente van a necesitar, no hay quedar muchas vueltas para configurarlo y para agregar proyectos. Funciona específicamente para lo que fue hecho y para cosas más grandes tiene una consola en donde pueden tirar comandos si los llegan a necesitar. Es la mejor opción si no son de los que les gusta tener miles de opciones a la mano, y también para los que prefieren en su mayoría usar la consola de comandos.
Source Tree
Este programa suele ser el más usado para repositorios basados en Git. Ofrece compatibilidad para otros tipos de repositorios y miles de opciones de configuración y trabajo para con ellos. También tiene una consola de comandos por si nada de lo que quieren hacer se adapta en la interfaz. Ofrece una gran cantidad de opciones visuales. Es la mejor opción si les gusta tener opciones por todos lados y de todos los colores.
Como podrán ver, ambos programas son gratuitos y son unas buenas alternativas a usar comandos por consola, si eso no les gusta. Igualmente, cada uno de estos programas, si bien tiene su interfaz gráfica, por detrás de cada botón hay un comando que el programa ejecuta para realizar la acción. Git fue pensado, en su estado más “puro” para usarse por consola. Las interfaces gráficas salieron después por cuestiones de comodidad. Pero la gran mayoría de acciones a realizar con Git se pueden hacer mediante la consola de comandos que, por supuesto, ambos programas proveen para usar.
Vamos a mostrar cómo descargar el repositorio usando SourceTree. Hay que tener en cuenta que antes de arrancar, hay unas cuestiones que tenemos que aprender a utilizar. Más que nada para trabajar de manera segura utilizando repositorios privados y cifrado de datos. Para quién no guste aprender esta parte puede saltearla, ya que si van a crear repositorios públicos no necesitan toda esta parte, aunque no es recomendado no utilizarla.
UTILIZANDO SSH
Para dar una definición muy general y lo más en español posible, SSH es básicamente un canal mediante el cual toda nuestra información es transmitida a un servidor y desde el mismo. Por este canal toda nuestra información va a estar cifrada y si alguien la intercepta de alguna manera no podrá descifrarla. Esto es muy usado en empresas donde tienen muchos datos que proteger, pero también se está volviendo un standard al punto en el que, al menos al momento de escribir esto, el logueo inseguro está a punto de ser deprecado por GitHub.
SourceTree nos permite hacer toda esta cuestión del SSH de manera más automática, al punto que al crear una cuenta ya podemos automáticamente crear y agregar a nuestra cuenta de GitHub el SSH con sólo hacer algunos clicks. Para ello vamos a ir a diferentes lugares, dependiendo de nuestro sistema operativo. Dejo la configuración tanto en Mac como en Windows.
En Mac
Vamos primero a Tools => Options => Authentication
Luego van a “Add” para agregar una cuenta. Una vez ahí, configuramos lo siguiente:
- En la parte que dice “Host” seleccionen “GitHub“, ya que vamos a usar una cuenta de GitHub.
- En “Auth Type” seleccionen “OAuth“, que significa “Open Authorization”. Más Info.
- Donde dice “Protocol” seleccionen “SSH” que es ese canal seguro del cual estuvimos hablando.
- Luego hagan click en el botón “Connect”. Esto les va a abrir una página para logguearse. Si ya están loggueados y quieren usar otra cuenta, pueden deslogguearse o copiar el link y pegarlo en una pestaña en modo incógnito de su navegador.
- Por último, van a ver que la “SSH Key” les aparece vacía. Para generarla, hagan click en el botón “Generate Key”. Esto genera automáticamente una clave y la guarda en la PC de ustedes.
Para generar esta clave les va a pedir que ingresen una frase opcional. Esto va a ser como una contraseña. Pueden dejarlo vacío si quieren. Si le ponen un valor, cada vez que abran SourceTree les va a pedir ese valor. Es como una manera de proteger también el acceso, si creen que alguien en su computadora podría usarlo sin permiso de ustedes.
Luego de que ya todo esté configurado, SourceTree va a intentar agregar automáticamente a su cuenta de GitHub la clave SSH para que se puedan conectar.
Peeeeeero, pueden darse algunos casos en los que SourceTree no pueda hacerlo. Uno de ellos es que tengan algún sistema de doble autenticación, con lo cual va a fallar cuando intente hacerlo. Si este no es el caso de ustedes, pueden saltear esta parte, caso contrario, pueden hacer click en el botón “Copy to Clipboard“. Esto copia la clave SSH en el portapapeles de ustedes. Luego de hacerlo vamos a agregar manualmente esa clave en nuestra cuenta. Para ello vamos a nuestra cuenta con el siguiente link (si ustedes están loggueados, les va a mostrar las opciones de ustedes):
https://github.com/settings/keys
Luego hacen click en “New SSH Key“. Y les va a aparecer una página como esta:
Ponganle el título que ustedes quieran (algo que les ayude a identificarla por si las dudas lo necesitan), y en el campo de abajo peguen la clave que tienen en el portapapeles. Luego hagan click en “Add SSH Key” para confirmar la clave.
Y con esto ya tienen el canal seguro configurado. Al margen de si era o no necesario para ustedes hacerlo, nunca está de más que lo sepan hacer, ya que en muchas empresas se usa este sistema.
En Windows
Tools => Options => Authentication
Van a ver una ventana en donde pueden agregar, editar y eliminar sus cuentas. Cuando hagan click en “Add” SourceTree les va a mostrar una ventana en la que pueden configurar su cuenta.
Asegurense de que los datos queden como figuran en la imagen.
- Hosting Service: GitHub
- Preferred Protocol: SSH
- Authentication: OAuth
Si ya tenían una cuenta loggueada, SourceTree va a tomar los datos de ahí. Caso contrario, tanto si la cuenta loggeada no es la cuenta con la que quieren logguearse o no tienen ninguna, hagan click en el botón “Refresh OAuth Token“. Esto lo que va a hacer es abrir el navegador, pedir los datos de login y luego volver a SourceTree. Si en el navegador web ya tienen una cuenta y no quieren cerra la sesión, pueden copiar el link y abrirlo con una ventana de incógnito.
Luego van a ver que el navegador les pide abrir SourceTree y al volver van a ver algo así:
Ahora sí ya podemos empezar a descargar nuestro repositorio. Para ello vamos a File => New. Esto les va a abrir una ventana en donde pueden ver los repositorios de la cuenta que registraron en los pasos anteriores. En Windows tienen un botón “+” como si fuera una pestaña de navegador, mediante la cual pueden acceder a este mismo menú. Incluso, si es la primera vez que abren SourceTree los va a mandar directamente a la opción de clonar un repositorio.
Por supuesto, esa sería la opción fácil y teniendo en cuenta que todo salga bien. Pero si algo sale mal, también tienen la opción dentro de ese mismo menú. Hacen click en el botón “New” y luego “Clone from URL“. Les va a salir una ventana donde pueden copiar la URL del repositorio de ustedes:
La ruta la pueden copiar directamente desde el repositorio que crearon. Tienen dos opciones de copiado, para este caso cualquiera viene bien. Pero basado en todo lo que hicimos hasta el momento, la opción SSH sería la ideal. Fijense que en la siguiente imagen también figura la opción “HTTPS” para copiarlo con una ruta alternativa.
Y con esto ya deberíamos haber podido clonar nuestro repositorio en nuestra PC.
CLONAR UN REPOSITORIO TENIENDO “TWO FACTOR AUTHENTICATION” ACTIVADO
Si tuvieron muchos problemas para clonar el repositorio quizás hayan pasado por lo mismo que yo. Varias veces tuve problemas con la clonación de los mismos ya que me pasó que SourceTree me mostraba el repositorio, pero no me mostraba todos los proyectos, o cuando los quería clonar no me dejaba hacerlo. Cuando activan el “Two Factor Authentication” cambian bastante las cosas. Por empezar, tienen que usar el sistema básico de login, al momento de agregar una cuenta. O sea, van a las preferencias de SourceTree (recuerden que tienen dos formas de llegar dependiendo de en qué sistema operativo estén), y agregan una cuenta con los siguientes parámetros
Si rellenan con sus datos de login como usuario y contraseña van a recibir un mail de Github diciéndoles que dentro de poco no se va a permitir hacer eso (a menos que al momento de leer eso ya directamente no les permita hacerlo). Así que lo que tienen que hacer es generar un “Token de acceso“. Este token sirve para que una aplicación pueda meterse en la cuenta de ustedes, con los permisos que ustedes le hayan dado, para hacer determinadas acciones como, en este caso, clonar un repositorio. Para eso, tenemos que generar dicho token. Así que vamos a nuestra cuenta, hacemos click en nuestro avatar (arriba a la izquierda), y van a “Settings” => “Developer settings” => “Personal access tokens“.
Luego hacen click en el botón “Generate access token” y tildan los siguientes campos (pueden tildar otros, pero mínimo necesitarán estos):
Recuerden ponerle un nombre para identificar a qué pertenece este token de acceso. Luego de generar el token, GitHub se los va a mostrar por única vez y después no van a poder verlo más (esto es por razones de seguridad). Así que les recomendaría guardarlo en algún lugar por si necesitan usarlo de nuevo.
Con el código generado, lo copian y volvemos a la parte de la cuenta en SourceTree, sólo que en lugar de poner la contraseña de ustedes, van a poner ese token. Y con esto SourceTree va a poder acceder a la cuenta de GitHub con los permisos que ustedes le hayan dado.