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

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...

Selfies en 3D llegan a Venezuela y hasta las podrás imprimir en plástico

La empresa 3DUP lanzó al mercado venezolano las líneas de impresoras 3D,  Cube3  y CubePro  de 3D Systems Corporation, a través de las cuales se podrán imprimir modelos, diseños o escaneos en 3D. De igual manera, también está disponible el servicio de selfie3D y el servicio de modelado 3D. La impresora Cube3 tiene dos cabezales de impresión y es única en su clase, posee una amplia combinación de materiales ABS, PLA y una variedad de 18 colores. Es el equipo más fácil de utilizar en el mercado y tiene un software de construcción apto para Windows y Mac; además cuenta con conexión wifi. La nueva CubePro, impresora 3D de calidad profesional ofrece el mayor volumen de impresión entre las impresoras de su clase, sus versiones cuentan con uno, dos o tres cabezales de impresión. Además, posee una amplia combinación de materiales ABS, PLA y Nylon con una variedad de 25 colores, cuenta con una cámara calefaccionada y cerrada para optimizar los trabajos de impresión 3D. P...

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...