Primeros pasos con GitLab y GitHub

Escrito el 21 Noviembre 2012 por Luis Ignacio Díaz Martínez


Bueno, siempre hay una primera vez para todo ¿no? ahora voy a explicar como empezar con lo más básico en GitLab y GitHub ya que el procedimiento es el mismo… ( o muy parecido ).

Básicamente lo que haremos es subir un proyecto a nuestro repositorio… para ello tan solo tendremos que seguir las pautas que mostraré a continuación.

Entrada

Primero de todo vamos a explicar un poco la temática del asunto…

Tenemos que hacernos a la idea que localmente tenemos un proyecto y lo queremos añadir a un servidor remoto donde tenemos instalado ( o lo tiene un amigo ) un servidor git con GitLab o sencillamente lo queremos colgar a GitHub ( ya que es el mismo procedimiento ).

Por lo tanto, primero tendremos que configurar nuestra máquina para que se conecte con el servidor y así poder subir el código… esto se realiza por conexión SSH ( normalmente utilizado en los servidores para crear conexiones remotas seguras ) así que realizaremos una conexión segura al servidor con una llave ( que se añadirá en GitLab o GitHub ) que nos identificará y dejará que podamos contactar con el.

Paquetes

Bueno… se me olvido decirlo, pero para realizar todo esto necesitaremos instalar el siguiente paquete para poder realizar todo esto…

Eso es todo…

Preparando Git

Primero nos tenemos que dirigir al directorio donde tenemos el proyecto ( local ).

Una vez estemos dentro, crearemos dos ficheros ( con nano mismo… o como quieras ):

  • .gitconfig
  • .gitignore

Como sus nombres indican uno es el fichero de configuración de git y el otro el de ficheros ignorados.

Así que cada fichero contendrá lo siguiente:

Fichero: “.gitconfig”

 Fichero: “.gitignore” ( este paso no se realiza si no tienes nada que ignorar )

**Nota: Importante destacar el primer punto del nombre del fichero, esto hará que el fichero pase a ser oculto.

**Nota: Actualmente en mi distribución estos dos ficheros no son identificados ( puede que sea cosa mia )

Creando clave SSH

Vale, todo esto funciona de forma encriptada… y necesitamos de unas claves SSH con tal de podernos conectar al servidor remoto y que este nos permita subir los ficheros.

Una vez hemos generado esta clave tendremos que copiarla en nuestro GitLab ( o GitHub ) para asociarlo a nuestro usuario.

Primero en la máquina local generamos la clave de la siguiente forma:

Nos realizará el siguiente tutorial:

Si nos fijamos en los “Enters podemos observar las preguntas que nos realiza:

  • “Enter file in…” quiere decir que introduzcamos la ruta donde almacena la clave… esa ya está bien así que Enter.
  • “Enter passphrase” nos pregunta una contraseña… sencillamente ponemos una clave que queramos.
  • El siguiente punto es repetir el paso anterior ( también lo podemos dejar en blanco )
Ahora tenemos que ver la clave que se ha generado…

Como podemos ver estamos accediendo a la clave pública generada ( .pub ) que encontraremos en la ruta del directorio por defecto que más arriba se nos ha indicado cuando generábamos la clave.

Una vez tenemos la clave, la copiamos y la pegaremos en el perfil de nuestro usuario de GitLab.

Está opción se encuentra en nuestro perfil en la pestaña “SSH Keys”… sencillamente le damos a “Add New” y pegamos la clave generada.

Una vez añadida podemos continuar.

Comprobando conexión

Esto es sencillo… vamos a comprobar si nuestra clave funciona correctamente… para ello nos dirigimos a nuestro terminal y realizamos lo siguiente:

Y nos preguntará si queremos conectarnos… un mensaje parecido a este:

Al indicar “yes” nos saldrá el siguiente mensaje:

Eso significa que está todo bien! lógicamente tenemos el acceso SSH bloqueado desde este usuario y por lo tanto no se puede realizar una conexión de control.

Error: Agent admitted failure to sign

Este error me ha dado bastante por saco… al final he conseguido solucionarlo mirando la documentación de GitHub.. más que nada lo único que he hecho es…

Sencillamente… y ya funciona.

Subir el proyecto

> Inicializando

Ya lo tenemos todo preparado para subir nuestro primero proyecto… así que si nos situamos en el directorio del proyecto ejecutaremos lo siguiente:

Sencillamente indicamos que estamos inicializando un proyecto git, sencillamente esto crea el directorio “.git” donde se almacena toda la información.

> Modificando el archivo ‘conf’

He explicado más arriba en una nota que los archivos de configuración de git no me los pilla bien… así que bueno, como siempre hay alternativas… sencillamente vamos a editar el archivo ‘conf’ que se encuentra en el directorio creado en la inicialización del proyecto ( .git ).

Como podemos ver hemos añadido el apartado “[user]”.

Esto sirve sencillamente para que identifique el usuario que envía el proyecto y no lo coja de forma automática… ya que si es así añadiría el usuario que tiene por defecto el sistema operativo y por lo tanto tendríamos commit realizados por distintos usuarios… es una forma de que el usuario envie siempre sus cambios con un mismo nombre y dirección de correo.

Este archivo de configuración puede incluir muchos más campos… como por ejemplo más arriba hemos visto como podemos excluir archivos…

> Añadiendo el código

Ahora hacemos una lista del los archivos que serán subidos al repositorio.. para realizar esta tarea es tan sencillo como hacer…

> Revisando los añadidos

Ahora vamos a revisar que todo se añadiese correctamente…

Todo lo que vemos en pantalla como será lo que se subirá al repositorio

> Primer commit

Ahora lo importante, el commit… que sencillamente por así decirlo significa “ya tengo el código listo, ahora lo subo al servidor“.

Por lo tanto primero realizamos el ‘commit’ de la siguiente forma:

Ahora conectamos con nuestro servidor:

Y por último empujamos el código hacia el servidor

Referencias


Cargando...

Comentarios:


5 Comentarios

#497 Helen Barrios

cuando quiero hacer un segundo commit me aparece esto: # On branch master

nothing to commit, working directory clean

    #498 Luis Ignacio Díaz Martínez

    Hola Helen,

    Te está indicando que la rama master no tiene commits pendientes, que está limpia (esto quiere decir que tienen los mismos datos, tanto el local como el remoto)

    Antes de realizar el commit has realizado un “git add” para incluir los cambios?

    Un saludo,

      #499 Helen Barrios

      Muchas gracias! era que no se había hecho ningún cambio ya que cuando los hacía no los guardaba. Saludos también.

#2580 Luigi

y como configuro para que se suba el codigo al server web (apache)

Deja un comentario

Nombre *
Email *
Web