Primeros pasos con github: subir un proyecto al repositorio.

Primeros pasos con github: subir un proyecto al repositorio.


0. Índice de contenidos.


1. Introducción

Github es un hosting para git, gratuito para proyectos opensource. Git es un sistema de control de versiones distribuido, para más info leed este tutorial de Alejandro.

En este vamos a ver cómo configurarnos el entorno local para trabajar contra github y cómo realizar una primera subida de un proyecto al repositorio.


2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 17′ (2.93 GHz Intel Core 2 Duo, 4GB DDR3 SDRAM).
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.7
  • Git 1.7.4.4.

3. Preparar el entorno de git

Lo primero, siguiendo el tutorial que os he comentado de Alejandro, es instalarnos en local git y configurarlo.

Para la instalación, en función del sistema operativo, tendremos que realizar más o menos operaciones, el objetivo no es compilar nosotros el código con lo que nos descargaremos una empaquetación del mismo lista para instalar, para Mac, de la siguiente ubicación: http://git-scm.com/

La instalación es simple, tras la misma comprobaremos la versión instalada ejecutando por línea de comandos:

Lo siguiente es configurar el usuario, email y los decoradores de la salida por consola, para ello seguiremos los pasos aquí indicados configuración de git.

Añadiremos a la configuración anterior la creación de un fichero de exclusiones. Es típico que, por sistema operativo, por el IDE o por el sistema de gestión del ciclo de vida del proyecto, se generen en el directorio de nuestra aplicación ficheros que no queremos que formen parte del repositorio. Para ello podemos tener una configuración local por proyecto o global para todos los proyectos.

Nostoros vamos a configurar un fichero de exclusiones particular por proyecto, de modo que cuando alguien se incorpore al equipo no tenga que configurar nada al respecto y no haya posibilidad de subidas al repositorio de ficheros de configuración locales.

Para ello crearemos un fichero .gitignore en el directorio ráiz del proyecto con el siguiente contenido:

Son las exclusiones típicas si trabajamos en Mac, con Eclipse y Maven.

El resultado de todas estas configuraciones debería ser un fichero .gitconfig en nuestro directorio de usuario con el siguiente contenido:


4. Preparar el entorno de GitHub.

GitHub usa una clave ssh para establecer una conexión segura entre nosotros y el servidor de git. Si no disponemos de una debemos generarla y añadir la misma a nuestro perfil de GitHub.

Para generar una nueva clave, desde el terminal debemos ejecutar los siguientes comandos:

Nos solicitará una ubicación para la clave, por defecto: /Users/your_user_directory/.ssh/id_rsa y una “frase de paso” como contraseña.

Al finalizar deberíamos tener algo como esto:

Ahora dentro del sitio de GitHub en “Account Settings” > “SSH Public Keys” > “Add another public key”, denemos añadir el contenido del fichero id_rsa.pub generado en /Users/your_user_directory/.ssh/

Para comprobar la configuración debemos ejecutar lo siguiente:

La salida debería ser algo como esto:

Escribimos yes y pulsando intro tendremos la siguiente salida:


5. Subir el proyecto.

Una vez tenemos el entorno montado ya podemos realizar la subida del pryecto para compartilo al resto del equipo.

Al tratarse de un proyecto nuevo lo primero es posicionarnos a nivel de la carpeta padre del proyecto (allí donde se encuentra, por ejemplo, el directorio .metadata) y ejecutar:

Con ello crearemos el repositorio de git, que no es más que el directorio .git en la misma ubicación (si tuvieramos que volver a crearlo basta con borrarlo).

A continuación, añadimos todos los fuentes al repositorio, aquí entrarán en juego las exclusiones, con el siguiente comando:

Para revisar lo añadido al repositorio podemos ejecutar el siguiente comando:

Todo lo que devuelva el listado será lo que se suba con el proyecto.

Solo queda hacer un commit, asignar el repositorio remoto y hacer un push

Ahora en el site del proyecto en GitHub tendremos el push:

Con ello ya tenemos el proyecto compartido.


6. Referencias.


7. Conclusiones.

Ahora solo queda desarrollar las historias de usuario… ;).

Un saludo.

Jose

jmsanchez@autentia.com