Desarrollo de aplicaciones con Git y GitHub para principiantes

Actualizado el 12 de septiembre, 2016. Por BlueHosting.

En la práctica, la gran mayoría de las aplicaciones que desarrollemos estarán destinadas a ser dinámicas, es decir, cambiarán constantemente en el tiempo. Tener un control de los cambios en los códigos de nuestra aplicación es una variable crucial para el éxito de nuestro desarrollo. Git es una herramienta para el seguimiento de aplicaciones, mejor conocido como Sistema de control de versiones. Por su parte, GitHub es un sitio web que permite la colaboración entre desarrolladores que utilizan Git. Con Git y GitHub, los programadores alrededor del mundo entero pueden compartir ideas y códigos de una manera organizada y a través de un proceso actualizado.

Cómo instalar y configurar Git

A continuación se incluyen instrucciones para sistemas Debian o Ubuntu. Para instrucciones de instalación en Mac, Windows u otras distribuciones de Linux, encuentre las instrucciones en nuestra guía que explica la Gestión de control de código fuente con Git. Esta última se enfoca más en abordar conceptos de Git, a diferencia de este tutorial que está dirigido al uso de Git con la ayuda de GitHub.

  1. Instale git en su servidor:

    sudo apt-get update
    sudo apt-get install git -y
    
  2. El siguiente paso es configurar su nombre de usuario, remplace Nombre y Apellido en el siguiente comando por sus datos reales:

    git config --global user.name "Nombre Apellido"
    
  3. Configure su correo electrónico. Recuerde remplazar sucuenta@ejemplo.com por su dirección de correo real:

    git config --global user.email "sucuenta@ejemplo.com"
    

El flujo de trabajo entre Git y GitHub consta de varios procesos. De manera muy general y resumida estos procesos incluyen:

  • Clonación y recepción (pull) de contenido desde el repositorio original en GitHub a su servidor.
  • Bifurcación o fork desde el repositorio original a nuestra cuenta de GitHub.
  • Envío (push) del contenido desarrollado en nuestro servidor hacia nuestra cuenta de GitHub.
  • Solicitud de recepción (pull) desde nuestra cuenta de GitHub hacia el repositorio original.

Clonar un repositorio de prueba

Un repositorio, o repo, es simplemente un proyecto Git. Para propósitos de nuestro tutorial, vamos a usar un repositorio bastante popular en el mundo del desarrollo con JavaScript: Grunt:

  1. Diríjase a la página principal de GitHub. En la barra de búsqueda de la parte superior puede buscar el repositorio destino, por ejemplo, busquemos el repositorio de grunt.
  2. De los resultados de la búsqueda, seleccione el que está identificado como gruntjs/grunt:
    Anexo 1 Repositorio Grunt github
  3. Haga clic en Clone or download y copie el enlace seleccionando el ícono que se muestra a continuación:
    Anexo 2 Clonar repositorio
  4. Desde el terminal de su servidor BlueHosting en el directorio home, use el comando git clone seguido del enlace que copió en el paso anterior. Para este ejemplo puede simplemente copiar el comando a continuación:

    git clone https://github.com/gruntjs/grunt.git
    
  5. Cambie al nuevo directorio ~/grunt:

    cd ~/grunt
    
  6. Para asegurarse de que su rama principal esté actualizada, use el comando pull como sigue:

    git pull https://github.com/gruntjs/grunt master
    

Crear una cuenta en GitHub y hacer fork de repositorios

Para compartir nuevos archivos o revisiones de archivos, necesitará una cuenta en GitHub y un fork del proyecto. Un fork (o bifurcación) es una copia del repositorio en su cuenta de GitHub.

  1. Cree un nombre de usuario en GitHub. En la página de bienvenida de GitHub, seleccione el botón "Finish sign up" al final de la página.
  2. Seleccione el ícono en la esquina superior derecha de la página, allí podrá ver su perfil bajo el enlace Your Profile.
  3. Para hacer fork de un repositorio, use la barra de búsqueda en la parte superior izquierda de la página. Sigamos con el ejemplo del repositorio de "grunt".
  4. Una vez seleccionado el repositorio, haga clic en el botón Fork, en la parte superior derecha de la página. El botón Fork está debajo del ícono del usuario:
    Anexo 3 Fork repositorio

Ya tiene una copia del repositorio en su cuenta de GitHub. Ahora es momento de regresar al terminal de desarrollo en su servidor.

Enviar al repositorio fork

Puede crear archivos en su servidor y enviarlos (o hacer push) hacia el repositorio al cual hizo fork en GitHub.

  1. Desde el directorio ~/grunt, cree y chequee una nueva rama:

    git checkout -b newbranch
    
  2. Cree un directorio llamado proyecto:

    mkdir proyecto
    
  3. Cree algunos archivos de prueba:

    touch pruebaRepo1.js pruebaRepo2.htm proyecto/pruebaProyecto1.js proyecto/pruebaProyecto1.htm
    
  4. Para ver el estatus de su proyecto de Git, use el comando git status:

    git status
    

    Obtendrá un resultado similar al siguiente:

    On branch newbranch
    Untracked files:
        (use "git add <file>..." to include in what will be commited)
    
            proyecto/
            pruebaRepo1.js
            pruebaRepo2.htm
    
    nothing added to commit but untracked files present (use "git add" to track).
    
  5. Agregue todos los archivos en ~/grunt al área de andamiaje de Git:

    git add .
    

    puede agregar los archivos uno a uno remplazando el punto del comando anterior por el nombre completo y ruta de cada archivo o directorio.

  6. Puede volver a comprobar el estatus usando git status y luego encomendar los archivos a su proyecto de git:

    git commit -m "Archivos de prueba para mi fork en Git"
    
  7. Envíe los nuevos archivos al repositorio al que le hizo fork en su nueva cuenta de GitHub. Remplace usuarioprueba en el comando a continuación con su nombre de usuario de GitHub. Recuerde también que para este ejemplo usamos el repositorio grunt, pero deberá cambiarlo según corresponda en su caso:

    git push https://github.com/usuarioprueba/grunt.git newbranch
    

    Nota: Si usted ha configurado el tipo de autorización 2FA (two-factor authorization) en su cuenta, necesitará hacer push usando SSH.

Crear una solicitud de envío (pull request) contra el repositorio original clonado anteriormente

Hasta ahora, Git fue instalado en un servidor de desarrollo, se clonó un repositorio en dicho servidor, se creó un nombre de usuario en GitHub, y se copió un fork en su cuenta de GitHub. En muchos casos de repositorios de comunidades, los usuarios suelen hacer peticiones al propietario del repositorio original para enviar nuevas revisiones o archivos de muestra. Este proceso final se llama pull request o solicitud de envío.

  1. Desde la ventana de GitHub en su navegador, seleccione Your account en la esquina superior derecha.
  2. En su perfil de GitHub, seleccione el repositorio grunt correspondiente a nuestro ejemplo:
    Anexo 4 seleccionar repo grunt
  3. En la página de grunt, seleccione branches:
    Anexo 5 branches grunt
  4. Debajo de "Your branches", seleccione New pull request:
    Anexo 6 New pull request
  5. Verifique que las ramas estén colocadas correctamente:
    Anexo 7 Verificar branches
  6. Haga clic en Create pull request:
    Anexo 8 Create pull request

¡Felicidades!, ha usado Git y GitHub para compartir archivos y para control de versiones. Hay muchos comandos de Git que puede aprender, pero esta guía da un buen punto de partida para comenzar a comprender y usar Git en conjunto con GitHub.

Recursos adicionales

Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos certificar su actualidad o precisión.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...