Tutorial básico de Git y GitHub

¿Que es Git?
Git es un sistema de control de versiones diseñado por Linus Torvalds, pensado en la eficiencia y en la confiabilidad del mantenimiento de versiones de aplicaciones con gran números de archivos. Lanzada el 7 de abril de 2005, bajo la licencia GNU GPL v2.

Los tres estados
Ahora presta atención. Esto es lo más importante a recordar acerca de Git si quieres que el resto de tu proceso de aprendizaje prosiga sin problemas. Git tiene tres estados principales en los que se pueden encontrar tus archivos: confirmado (committed), modificado (modified), y preparado (staged). Confirmado significa que los datos están almacenados de manera segura en tu base de datos local. Modificado significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos. Preparado significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

Esto nos lleva a las tres secciones principales de un proyecto de Git: el directorio de Git (Git directory), el directorio de trabajo (working directory), y el área de preparación (staging area).
Fuente: https://git-scm.com/book/es/v1/Empezando-Fundamentos-de-Git#Los-tres-estados

Instalación:

Antes de empezar debemos asegurarnos de tener Git instalado en nuestro sistema
- En Linux normalmente ya viene instalado, lo puedes comprobar usando:

git — version

te deberá salir algo como esto “git version 2.13.1”.
Si no lo tienes instalado, en la documentación oficial encontraras el instalador para las diferentes plataformas https://git-scm.com/

Configuración:

$ git config — global user.name “John Doe”
$ git config — global user.email johndoe@example.com

Nota: El correo debe ser el mismo que usaras para la cuenta de GitHub.
$ git config — list

Con este comando comprobamos nuestra configuración.

Uso

  • Órdenes básicas
    En la carpeta principal de tu proyecto proyecto, ejecuta:
$ git init

De esta manera iniciamos un repositorio en Git (inicia el rastreo de git).
$ git status

Con este comando lo que hacemos es, ver el estatus de nuestro repositorio(es decir los archivos modificados en el `working directory`).
$ git add <nombre_del_archivo>

Este es para agregar los archivos modificados del `working directory` al `staging area`.
$ git commit -m “mensaje descriptivo del cambio que se realizo”

Con esto pasamos los archivos del `staging area` al `repository`.
$ git log

Este comando es muy importante, con este veremos todos los `commits` realizados a lo largo de nuestro proyecto.
el resultado debería de ser algo como esto:
commit 7e4f69e0dd226fbf490627d9b79d637cf72cef51
Author: username <your.mail.address@email.com>
Date: Thu Jun 8 19:03:16 2017 -0400
mensaje descriptivo del cambio que se realizo.
commit 7e4f69e0dd226fbf490627d9b79d637cf72cef51
Author: username <your.mail.address@email.com>
Date: Thu Jun 7 18:08:45 2017 -0400
otros commits realizado.
$ git checkout <id_del_commit>

Con este comando podemos volver a un punto especifico de nuestro repositorio(es como viajar en el tiempo)
$ git checkout master

Con esto volvemos a la rama principal y punto temporal mas reciente en nuestro repositorio.
$ git branch -a

De esta manera vemos todas las ramas existentes. Por defecto contamos solo can la rama master que es la principal de nuestro repositorio.
$ git checkout -b <nombre_de_la_rama>

Así es como creamos ramas es git
  • Git reset
$ git reset — hard HEAD

Elimina todos los cambios realizados aun en `working directory`. Esto no afecta otras ramas ni areas del repositorio.
$ git reset — mixed HEAD

Revierte `git add` (Elimina los cambios del `staging area`).

Integración con GitHub

¿Que es GitHub?
GitHub es una forja para alojar proyectos utilizando el sistema de control de versiones Git.
GitHub es el mas usado entre sus competidores. Es conocido por algunos, como la red social de programadores.

¿Como obtengo una cuenta de GitHub?
GitHub es gratuito, para crear repositorios públicos, si lo que necesitas es un repositorio privado debes pagar una mensualidad.

Para crear una cuenta de GitHub debes dirigirte a: https://github.com/

Crear un repositorio

  • Crearemos un repositorio publico

nos dirá si queremos iniciarlo con un README.md, en este caso dejamos desmarcada la casilla.

  • Una vez creado nos quedara algo como esto
  • Vamos a nuestro repositorio de git y ejecutamos los siguientes comandos:
$ git remote add origin https://github.com/<tu_username>/<nombre_sin_espacios>.git

Con este comando agragamos la dirección remota donde se encontrara nuestro repositorio alojado.
$ git push -u origin master

De esta manera subiremos el repositorio a GitHub.
$ git fetch origin master
$ git merge origin master


Es igual a:

$ git pull origin master

Con este comando bajamos los `commits` que hayan realizado los demas miembros(colaboradores) del repositorio, y los fusionamos con los `commits` que tenemos en local.
Nota: al estar trabajando con otros miembros debemos siempre antes de subir nuevos cambios, asegurarnos de tener los mas recientes. De lo contrario abran conflictos al fusionar.
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.