Primeros pasos con GitHub: el Sistema de Control de Versiones

- Andrés Cruz

Primeros pasos con GitHub: el Sistema de Control de Versiones

Git es un excelente Sistema de Control de Versiones que en otras palabras permite controlar los cambios a través del tiempo de cualquier tipo de programa que se encuentre en desarrollo.

GitHub viene siendo una especie de hosting para Git en el cual se alojan una gran cantidad de proyectos tanto públicos como privados (este último necesitas tener una cuenta de pago); ha tenido un gran éxito y es empleado por todo tipos de empresas o compañías tan exitosas como Google para subir diferentes proyectos.

En esta entrada veremos como instalar Git en un ambiente Linux, configurarlo y emplearlo en un proyecto nuevo o existente.

1.0 Instalando Git

Antes de instalar Git es recomendable crearnos una cuenta desde la página oficial de GitHub Join GitHub que emplearemos un poco más adelante para configurar Git y en posteriores entradas para sincronizar nuestro proyecto.

Ahora veremos como instalar Git en nuestra máquina; para instalar Git en Fedora ejecutamos en nuestra terminal:

sudo yum install git

Si por el contrario usamos como distribución Linux, Ubuntu, Debian o derivado prueba con:

sudo apt-get install git

2. Primeros pasos con GitHub

2.1 Configurando nuestra cuenta

Una de las primeras cosas que debemos de hacer antes de trabajar con Git en nuestros proyectos es agregar nuestra cuenta y correo electrónico a nuestra instalación de Git que hayamos usado para registrarnos en GitHub a través del comando git config:

git config --global user.name "cuenta"
git config --global user.email "correo@gmail.com"

Para ver las configuraciones que realizamos en el paso anterior podemos emplear el siguiente comando:

git config --list
user.name=cuenta
user.email=correo@gmail.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

3 Gestionando los proyectos

Una vez instalado y configurado Git tenemos dos escenarios posibles si queremos integrar Git en nuestros proyectos:

3.1 Inicializar un proyecto nuevo o existente

Para esto debemos inicializar el proyecto con el siguientes comandos:

$ git init
Initialized empty Git repository in /home/andres/gittest/.git/

Como veremos en el retorno del comando, esto creará una carpeta oculta llamada .git (puedes visualizar las carpetas y archivos oculto en Linux a través de la combinación de teclado: Control + h) que contiene todo los datos necesarios para sincronizar el proyecto.

En nuestro ejemplo la carpeta gittest contiene nuestro proyecto que puede ser un proyecto Android, PHP, o cualquier otra cosa que no tiene porqué tener una estructura en particular.

3.2 Hacernos con un proyecto de los repositorios de GitHub (clonar)

El segundo escenario que podemos emplear para sincronizar nuestro proyecto es tomar alguno ya comenzado desde algún repositorio como GitHub.

Si queremos trabajar con un proyecto ya existente que esté alojado en algún repositorio de GitHub podemos clonarlo o copiarlo a nuestra máquina para trabajar con:

git clone https://github.com/libredesarrollo/android.git

Para obtener la URL de los proyectos, en GitHub copiala desde:

Clonar proyecto de gitHub

4 Empezando con el Sistema de Control de Versiones Git

Llegado a este punto, hemos completado las siguientes tareas:

  1. Instalado Git
  2. Configurado Git
  3. Inicializado un proyecto con Git

Ahora podemos empezar a trabajar con el Sistema de Control de Versiones que en otras palabras significa agregar los distintos scripts que forman nuestro programa; por ejemplo agreguemos el típico archivo README.txt:

echo "Algo de texto" > README.txt

Por ahora tenemos un simple archivo que deseamos que Git haga seguimiento:

ls
README.txt
Con "seguimiento" se quiere decir que Git es capaz de registrar los cambios de los distintos archivos seleccionados que forman un proyecto.

Si queremos saber cual es el estado de nuestro proyecto hasta el momento o para determinar el estatus de los archivos debemos emplear el comando git status y veríamos:

git status
Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	README.txt

nothing added to commit but untracked files present (use "git add" to track)

Lo que significa que estamos limpio y Git todavía no tiene nada a lo cual realizar un seguimiento hasta que agreguemos nuestro archivo con git add.

Git no realiza un seguimiento a nuestros archivos de manera automática, en cambio hay que decirle específicamente cuáles va a realizar el seguimiento o rastreo.
"Untracked" significa que los archivos listados no se les ha realizado el seguimiento a menos que se lo indiquemos explícitamente con git add.

Entonces debemos especificar que el archivo anterior llamado README.txt sea rastreado por Git o lo que es lo mismo, que Git le realice el seguimiento, para esto empleamos el comando git add <archivo>.

Para agregar el archivo creado anteriormente:

git add README.txt

También podríamos haber empleado:

 
git add *.txt 

Para agregar todos los archivos nuevos o modificados cuya extensión sea txt.

o

git add --all

Para agregar todos los archivos del proyecto que sean nuevos o modificados.

Sea cual sea el comando que ejecutes, el resultado será el mismo para nuestro ejemplo.

Si nuevamente consultamos el estado de nuestro proyecto:

git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   README.txt

Lo que significa que el archivo README.txt está listo para que Git le realice seguimiento y está en espera para ser confirmado con el comando git commit.

Confirmando los cambios con git commit

Ahora para confirmar que deseamos que el archivo anterior se le realice un seguimiento:

git commit -m "nuestro primer proyecto con git"
[master (root-commit) 99cf1ee] nuestro primer proyecto con git
 1 file changed, 1 insertion(+)
 create mode 100644 README.txt
Al realizar un commit es necesario agregar un mensaje concerniente al mismo, para ello se emplea la opción -m junto con el comando commit.

Ver el histórico de las confirmaciones del proyecto

En otras palabras el log o historial de de todos los commit que se han realizado:

[andres@localhost gittest]$ git log
commit 99cf1eef86a66b45f540212a4869c97af245330b
Author: XXX
Date:   Thu Aug 20 11:00:01 2015 -0430

    nuestro primer proyecto con git

En nuestro ejemplo solo hemos realizado una confirmación o commit.

Conclusiones

En esta entrada vimos una breve introducción a Git y conocimos que es GitHub; además vimos cómo configurar una cuenta, emplearlo en nuestros proyectos e indicamos a Git que rastree algunos de nuestro archivos; pero todavía faltan varios componentes que veremos en las próximas entradas.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.