Ir al contenido principal

Primeros pasos en Git: Creación y gestión de repositorios




Git es un sistema de control de versiones descentralizado. Fue diseñado por Linus Torvalds pensando “en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando tienen un gran número de archivos de código fuente.”

Este artículo es el primero de una serie en la que nos concentraremos en conocer el flujo de trabajo básico para llevar a cabo el versionado de nuestros proyectos.
Cómo instalar Git

El primer paso es instalar Git en nuestro sistema. Es un proceso sencillo si tienes alguna distribución Linux u OS X. Además, en cualquier otro sistema basado en Nix funciona excelente.

Después, es importante configurar nuestros datos básicos:

[code]
$ git config –global user.name "Mi nombre"
$ git config –global user.email "mi@correo.com"
[/code]

Lo siguiente que debemos hacer es crear y gestionar un repositorio de forma local. Veremos cómo iniciar nuestros repositorios y registrar cambios en el historial de Git.

Es importante mencionar que Git es una herramienta con una curva de aprendizaje pronunciada. La clave es llevar un orden y siempre registrar nuestros cambios casi que de forma automática. De esta manera, evitaremos complicaciones.
Creando nuestro repositorio

Cualquier carpeta de nuestro sistema puede ser un contenedor o repositorio para Git. Ahí se establecerá la configuración e historial bajo una carpeta nombrada .git que se encuentra oculta.

No es necesario iniciar nuestro proyecto a la par que un repositorio. De hecho, estos se pueden crear aún cuando ya hemos avanzado con nuestro código. Por ejemplo, si tenemos la estructura de un sistema o librería sencilla:

[code]
/proyectos/mi-libreria
/proyectos/mi-libreria/include
/proyectos/mi-libreria/include/sistema.class.php
/proyectos/mi-libreria/include/funciones.php
/proyectos/mi-libreria/index.php
[/code]

Sólo debemos ubicarnos en la carpeta y ejecutar git init para crear el repositorio:

[code]
$ cd /proyectos/mi-libreria
$ git init

Initialized empty Git repository in /proyectos/mi-libreria/.git/
[/code]
Registrar y guardar archivos

Cada repositorio guarda un historial de los cambios realizamos en nuestro proyecto. Al ejecutar git status, podemos verificarlos en el estado actual:

[code]
$ git status

# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>…" to include in what will be committed)
#
# include/
# index.php
nothing added to commit but untracked files present (use "git add" to track)
[/code]

En este ejemplo es evidente que hace falta registrar los archivos contenidos en la raízde nuestro proyecto. Podemos agregarlos de esta manera:

[code]
$ git add .
$ git status

# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm –cached <file>…" to unstage)
#
# new file: include/funciones.php
# new file: include/sistema.class.php
# new file: index.php
#
[/code]

Usamos git add . porque el punto indica la ruta actual y Git agrega, por defecto, una carpeta como argumento al emplear esta instrucción. También es posible agregar archivos individualmente con sólo especificar la ruta con relación a la raíz del repositorio. Por ejemplo:

[code]
$ git add include/funciones.php
[/code]

Finalmente, debemos confirmar los cambios en el repositorio. Para hacerlo, ejecutamos git commit:

[code]
$ git commit -m "Primer commit; agregue la estructura de archivos"

[master (root-commit) 0034116] Primer commit; agregue la estructura de archivos
3 files changed, 3 insertions(+), 0 deletions(-)
create mode 100644 include/funciones.php
create mode 100644 include/sistema.class.php
create mode 100644 index.php
[/code]

Después, verificamos que todo esté en orden con git status:

[code]
$ git status

# On branch master
nothing to commit (working directory clean)
[/code]

Al trabajar con este tipo de herramientas, lo ideal sería que por cada cambio -tanto en el código como en la estructura de archivos- se haga un registro en el repositorio con una descripción puntual, breve y clara de las modificaciones. Esto para no perder el orden de los cambios en nuestro proyecto.

En los siguientes artículos te enseñaré cómo lograr un flujo de trabajo más flexible con el manejo de ramas como branch, checkout, rebase y merge. Además, también repasaremos diversas técnicas y recomendaciones para un registro de cambios más efectivo con commit, cherry-pick, reset, diff, show y log.

Y ya que dominemos el flujo de trabajo básico de manera local, continuaremos con la obtención, publicación y actualización de repositorios con remote, fetch, pull y push.

Este es sólo un pequeño adelanto de todo lo que verás si te registras al curso de Git y GitHub en Platzi. Aprenderás, desde cero hasta un nivel más avanzado, cómo implementar estas herramientas en tus proyectos, sus conceptos básicos y hasta cómo hacer deploy y automatización.

Comentarios

Entradas más populares de este blog

7 aplicaciones para gestionar proyectos de forma eficiente

¿Estás trabajando en equipo pero todo es un caos? entonces deberías probar estas aplicaciones para gestionar proyectos que te ayudarán a organizarlo todo. Shutterstock Sin duda  trabajar en equipo  es una tarea que generalmente se nos complica debido a problemas de comunicación, sincronización de tiempos, bajo presupuesto o falta de organización, lo que repercute en el resultado final o en la calidad del trabajo realizado. Afortunadamente ya no tiene que ser así. La tecnología ha permitido que hoy en día tengamos muchas herramientas digitales de donde escoger. Éstas nos permiten estar a cargo de tareas y administrar nuestro tiempo para  trabajar con otras personas sin necesidad de estar físicamente en un lugar . A este tipo de herramientas se le conoce como  aplicaciones de gestión de proyectos  y hoy te traemos las mejores opciones que existen para que puedas empezar a organizar tus tareas. Trello Trello  es la aplicación por defecto...

Crea una página profesional en minutos con Google Sites

Google  tiene de todo . Además de buscador, cuenta con un portal de vídeo (YouTube), un atlas geográfico (Mapas), una suite ofimática (Drive), un cliente de correo electrónico (Gmail), un espacio donde compartir tus fotos, una tienda de apps (Google Play)… Con Google incluso puedes  poner en marcha un blog  en segundos gracias a  Blogger . Entras, te registras, configuras una plantilla y sólo tendrás que crear contenido. Apenas requiere mantenimiento. Por otro lado, si eras  cliente de G Suite , antes Google Apps, además de contar con espacio en Drive, correo electrónico Gmail, calendarios y otros servicios enfocados a la empresa, podías crear  la página web de tu negocio  usando Google Sites. Los usuarios particulares, o quienes no querían una suscripción de pago a G Suite, para montar una página web con Google debían  acudir a Blogger o al espacio gratuito que ofrece Drive . Pero desde hace varios años ya es posible usar Google Sites p...

Sailfish OS certificado como alternativa a Android en Rusia

Los finlandeses de  Jolla  están de enhorabuena, especialmente si recordamos que no hace mucho estaban casi en la bancarrota, tras embarcarse en una aventura algo arriesgada para la fabricación de tablets. Ahora la vida les sonríe: las autoridades rusas  han certificado  el  sistema operativo Sailfish OS  para su uso por parte del gobierno y corporaciones del país. Se trata de un sistema con base open source ( Linux ), pero con una  capa privativa  presente en algunos de sus componentes como puede ser la interfaz o determinadas aplicaciones. La gran ventaja de Sailfish respecto a otros competidores en el mercado del smartphone –como el ya desaparecido  Firefox OS  o  Ubuntu –, es su  compatibilidad con las aplicaciones de Android. Las intenciones de Rusia es  reducir el uso de sistemas operativos extranjeros  (Android, iOS) en móviles del 95% actual  a la mitad en 2025 . Disminuir la  dependen...