Inicio TUTORIALES Aprende a usar GitHub y GitLab sin morir en el intento

Aprende a usar GitHub y GitLab sin morir en el intento

0
Compartir
Git, GitHub, GitLab

Github y GitLab son páginas webs que permite alojar el código de proyectos utilizando el sistema de control de versiones Git. Ambos servicios tienen cuentas gratuitas y de pago, con la principal diferencia de que en GitHub se necesita una cuenta de pago para crear repositorios privados mientras que GitLab te lo permite con la cuenta gratuita. Para crear repositorios públicos (accesibles para todo el mundo), con la versión gratuita es suficiente.

Como sabréis, recientemente Microsoft ha comprado GitHub, por lo que muchos escépticos a esta compañía han migrado sus códigos de GitHub a GitLab, por lo que realizaremos este tutorial para ambos servicios.

Crear cuenta en GitHub/GitLab

Este es un paso muy sencillo que todos lo sabréis hacer sin ningún problema.
Entramos en la web de GitHub o en la de GitLab dependiendo del servicio que queramos usar y directamente nos aparece una pantalla para registrarnos.

Asociar Git con nuestra cuenta de GitHub/GitLab

Primero de todo necesitamos instalar Git. Git, tal como dice Wikipedia, es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.

Para instalar Git en una distribución GNU/Linux basada en Debian o Ubuntu escribimos lo siguiente en el terminal:

sudo apt install git

Si queréis seguir el tutorial desde Windows tenéis que seleccionar Windows en la siguiente página: http://git-scm.com/downloads
Esto es un programa llamado git shell que seria parecido a cygwin, pero especializado con los comandos de git.

Antes de empezar, hay que mencionar que Git cuenta con algunos clientes gráficos que hacen mas amigable su uso, pero nosotros usaremos comandos vía terminal, lo que permite una mayor flexibilidad.

Configurar Git

Una vez que tenemos instalado git es hora de configurarlo. Para hacer esto necesitamos abrir el terminal y introducir lo siguiente:

git config --global user.name "Tu usuario aquí"
git config --global user.email "tu_email@example.com"

*El email tiene que ser el mismo que el de la cuenta de GitHub o GitLab

Configurar Git

Generar SSH KEY

La ssh key se utiliza para establecer una conexión segura entre Github o GitLab y tu ordenador.
Partimos de la base que no tenemos ninguna llave generada. Si queréis comprobarlo escribid lo siguiente en el terminal:

cd ~/.ssh
ls

Si tenemos alguna llave generada tendría que aparecer alguno de estos dos archivos.

id_rsa.pub
id_dsa.pub

En el caso que los tengamos vamos a ignorar el siguiente paso y pasaremos directamente al paso de instalar xclip.

Generar

Vamos a introducir lo siguiente en el terminal

ssh-keygen -t rsa -C "tu_email@example.com"

Ahora nos va a parecer lo siguiente:

Generating public/private rsa key pair.
# Enter file in which to save the key (/home/you/.ssh/id_rsa):

Vamos a darle al enter sin escribir nada.
Ahora nos va a pedir que escribamos dos veces una contraseña. Esta contraseña nos la va a pedir cada vez que queramos subir algo a nuestra cuenta. Nos aparecerá esto:

Generar SSH

Ahora nuestra llave debería estar en:

~/.ssh/id_rsa.pub

Podemos copiarla manualmente o de la siguiente forma

sudo apt install xclip

Instala el programa xclip. Va a pedir la contraseña de Linux (no confundir con la contraseña de Git)

Una vez instalado escribimos lo siguiente para copiar la llave:

xclip -sel clip < ~/.ssh/id_rsa.pub
Copiar SSH

Añadir llave a GitHub o GitLab

Ahora toca conectar Git con GitHub o GitLab mediante la llave que hemos generado.
Para ello entraremos en nuestra cuenta de Github o GitLab, arriba a la derecha pulsamos sobre nuestra foto de usuario e iremos a “Settings” y finalmente a “SSH Keys”. En el caso de GitHub tendremos que presionar también en “Add SSH Key”

En “title” podemos poner lo que queramos o si queréis lo podéis dejar en blanco (va a aparecer vuestro correo).
En la parte de “Key” pegamos lo que anteriormente copiamos con el programa xclip (simplemente botón derecho-pegar o ctrl + v). Finalmente le damos a “Add Key”

Añadir key GitHub y GitLab

Probar si funciona

Para comprobar que lo tengamos enlazado correctamente escribiremos lo siguiente:
Nota: os va a aparecer una ventanita pidiendo una contraseña, debéis introducir la contraseña puesta en la configuración de la SSH Key. Si no lo hacéis saldrá “Permission denied (publickey)”

Para GitHub:

ssh -T git@github.com

Para GitLab:

ssh -T git@gitlab.com

Os tiene que aparecer lo siguiente:

Probar key

¡Ahora ya tenemos GitHub o GitLab configurado en nuestro PC!

Si os aparece “Permission denied (publickey)” en más ocasiones Github tiene una página dedicada a solucionar este problema: https://help.github.com/articles/error-permission-denied-publickey

Empezar a usar GitHub/GitLab

Para subir nuestro código a GitHub o GitLab tenemos dos opciones. La primera subir nuestro código del ordenador y la segunda hacer un fork de otro repositorio.

Antes de seguir vamos a ver que es un repositorio. Dicho de forma rápida el repositorio es donde colgamos una parte de un proyecto (en caso de un proyecto con muchas partes. ej. código fuente de android) o todo el código de un proyecto (ej. una app).
Para que se me entienda mejor voy a explicar ejemplos teniendo en cuenta que la finalidad es subir el código fuente de una modificación nuestra de android (una ROM).

Primero empezaremos explicando como subir el código almacenado en el ordenador.

Subir código almacenado en el PC

Primero será necesario crear un nuevo repositorio donde almacenar el código. Recordad que la cuenta gratuita de Github solo permite utilizar repositorios públicos, para proyectos opensource, si queréis repositorios privados os tocará pagar una cuota al mes o utilizar GitLab.

Crear un repositorio

GitHub

Una vez entramos en nuestra cuenta, arriba a la izquierda nos aparecerá un botón verde con el nombre de “new repository” que nos permitirá crear un nuevo proyecto.

Crear repositorio GitHub

GitLab

Una vez entramos en nuestra cuenta, nos aparecerá una sección para crear un proyecto. Ahora va a aparecer una página donde vamos a configurar nuestro nuevo repositorio indicando su nombre, descripción, licencia y si será privado o público.

Crear proyecto GitLab

Subir el código al repositorio

Vamos a abrir la carpeta donde tenemos almacenada los archivos y subcarpetas que queramos subir.
Una vez dentro nos tendríamos que asegurar que no contenga una carpeta .git, ya que si la contiene puede causar errores (ej. el código de Android incluye esta carpeta). Para eso tenemos que mostrar archivos ocultos, cuya opción depende del entorno de escritorio que usemos (suele salir en la opción “ver” del explorador de archivos).

Después de eso, abriremos un terminal en esa carpeta y escribimos lo siguiente para que nos inicialice el repositorio y nos cree una carpeta llamada .git:

git init

Ahora seleccionaremos que suba todo lo que contenga la carpeta con el siguiente comando

git add *

Si queréis ver lo que se ha añadido para subir tenéis que escribir:

git status

Ahora vamos a hacer un commit para confirmar los cambios. Lo que sale entre comillas es lo que a parecer en el commit (el nombre)

git commit -m "Proyecto subido"

Ahora es hora de asignar el repositorio remoto al que queremos subir el proyecto. Escribimos lo siguiente (si usas GitLab cambias github.com por git.com):

git remote add origin git@github.com:nombre_de_usuario/nombre_del_repositorio.git

Finalmente vamos a subirlo todo a nuestro GitHub o GitLab dentro del repositorio que hemos creado anteriormente.

git push -u origin master

El código se va a subir en la “branch” master, esto es así por defecto. Luego más adelante explicaré como crear nuevas “branches” y subir cambios en cada una de ellas.

Ahora si entráis en vuestro GitHub o GitLab, seleccionáis vuestro repositorio y entráis en la sección de commits, va a decir todos los cambios que se han producido.

Hacer un fork de otro proyecto

Hacer un fork de otro repositorio significa que lo copiamos hacia nuestro GitHub o GitLab. Esto significa que guarda los commits que se hayan hecho y sus “branches”.

Hacer un fork es muy fácil, tenemos que buscar un repositorio que nos interese. Entramos dentro del repositorio y seleccionamos “Fork” para copiarlo a nuestra cuenta.

Descargar el código

Para descargarlo, abrimos un terminal el lugar donde queramos guardar el código y escribiremos lo siguiente:

git clone git@github.com:usuario/repositorio.git

Esta dirección la podemos encontrar en cada repositorio de GitHub y GitLab.

Clonar repo GitLab y GitHub

Siguiendo cualquiera de estas dos opciones ya tendréis el código subido a GitHub o GitLab y sincronizado en vuestro PC.

Crear nuevas “Branches”

Esta opción la realizaremos desde dentro de nuestro repositorio. Seleccionamos “branch: master” y se abrirá una lista, y un lugar para escribir. Allí escribimos el nombre de la “branch” que queremos, como no la encontrará nos dirá de crear una nueva “branch”.

Otros comandos básicos

Además de los comandos anteriores, existen otros comandos muy usados que son interesantes de saber.

Subir los cambios a GitHub/GitLab

Cada vez que modificamos un archivo y queramos subirlo haremos lo siguiente:

git add

Si queréis comprobar los archivos añadidos utilizaremos:

git status

Los archivos en verde ya están añadidos, y los archivos en rojo  son los que faltan para añadir. Ahora es necesario introducir un nombre para el commit.

git commit -m "escribir los cambios realizados"

Y finalmente el siguiente comando sirve para subir los cambios a github

git push

Actualizar el código del PC

Imaginaos que por cualquier motivo habéis modificado algo directamente desde GitHub o GitLab, o que realizáis el proyecto también en otro ordenador o con otra persona.

El siguiente comando sirve para bajar los cambios que hay en el GitHub o GitLab y que no están en el PC:

git pull

Si los cambios han sido muchos pueden surgir conflictos. Más adelante se explicará como solucionarlo.

Comandos para seleccionar la “branch”

Un poco más atrás hemos creado una nueva “branch” ahora debemos seleccionarla para subir nuestros cambios en esta “branch”.

Para que aparezca la “branch” que hemos creado primero tenemos que hacer

git pull

Para ver que “branches” tenemos  que escribir lo siguiente en el terminal:

git branch

Para seleccionar la “branch” deseada escribimos lo siguiente:

git checkout nombre_de_la_branch

Ahora cada vez que hagamos

git push

se subirá dentro de la “branch” seleccionada dejando las demás tal como estaban.

Eliminar un “commit”

Sirve por si algo ha fallado o se quiere eliminar:

git revert < sha del decommit>

Otros comandos

git log
git log -p

Sirve para ver los commits fusionados y ver sus sha. El segundo aparte de del commit te muestra los cambios.

git merge <rama>

Esto sirve para fusionar dos “branches” en caso de usar una rama estable y otra experimental.

git reset --hard HEAD~1

Esto revierte el último commit que hemos echo antes de hacer un push y borra los cambios producidos.

git reset --soft HEAD~1

Retrocede un commit, pero no borra ni pierdes los cambios, osea, que saldrá como si estuviera pendiente de hacer el commit, bastante útil para hacer cambios de ultima hora.

En ambos,una vez hecho push, no queda mas remedio que hacer revert.

Puedes seguir ésta y otras noticias a través de nuestro canal de telegram y mediante nuestra nueva app para android.

Actualiza Tu Móvil
Actualiza Tu Móvil
Developer: EloYGomeZ
Price: Free