Ciclo de vida

Intermedio
Git
Git
Actualizado: 23/08/2025

Inicializar repositorio git y ver estado

La inicialización de un repositorio Git es el primer paso para comenzar a versionar cualquier proyecto. Este proceso transforma una carpeta ordinaria en un repositorio Git funcional, creando toda la infraestructura necesaria para el seguimiento de cambios.

Creando un repositorio desde cero

Para inicializar un nuevo repositorio Git, utilizamos el comando git init dentro del directorio que queremos versionar:

mkdir mi-proyecto
cd mi-proyecto
git init

Al ejecutar git init, Git crea una carpeta oculta llamada .git en el directorio actual. Esta carpeta contiene toda la base de datos del repositorio, incluyendo el historial de commits, configuración local, referencias a ramas y metadatos del proyecto.

ls -la
# Salida:
# drwxr-xr-x  3 usuario grupo  96 Nov 15 10:30 .
# drwxr-xr-x  5 usuario grupo 160 Nov 15 10:29 ..
# drwxr-xr-x  9 usuario grupo 288 Nov 15 10:30 .git

La carpeta .git es el corazón del repositorio. Su eliminación significaría perder todo el historial de versiones, por lo que nunca debe modificarse manualmente. Git gestiona automáticamente su contenido interno.

Verificando el estado del repositorio

Una vez inicializado el repositorio, el comando git status se convierte en nuestra herramienta principal para monitorear el estado de los archivos:

git status

En un repositorio recién creado, la salida será similar a:

On branch main

No commits yet

nothing to commit (create/copy files and use "git add" to track)

Esta salida nos proporciona información crucial:

  • Rama actual: Estamos en la rama main (rama por defecto)
  • Estado de commits: No hay commits todavía en el historial
  • Archivos para seguimiento: No hay archivos siendo rastreados

Añadiendo archivos al proyecto

Creemos algunos archivos para observar cómo cambia el estado del repositorio:

echo "# Mi Proyecto" > README.md
echo "console.log('Hola mundo');" > app.js

Ahora ejecutamos nuevamente git status:

git status

La salida mostrará:

On branch main

No commits yet

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

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

Los archivos aparecen como "Untracked files" (archivos no rastreados). Git detecta su existencia pero no los está siguiendo todavía. Para que Git comience a versionar estos archivos, debemos añadirlos explícitamente al área de preparación.

Interpretando la información de estado

El comando git status proporciona información detallada sobre tres áreas importantes:

  • Working Directory: Los archivos en tu directorio de trabajo actual
  • Staging Area: Los archivos preparados para el próximo commit
  • Repository: Los archivos ya confirmados en el historial

Además, git status incluye sugerencias útiles sobre los comandos que puedes ejecutar según el estado actual. Por ejemplo, sugiere usar git add <file> para comenzar a rastrear archivos nuevos.

Para obtener una versión más concisa del estado, puedes usar la opción -s o --short:

git status -s

Esta versión abreviada muestra cada archivo con códigos de dos caracteres que indican su estado:

?? README.md
?? app.js

Los símbolos ?? indican archivos no rastreados. A medida que trabajemos con Git, veremos otros símbolos como A (añadido), M (modificado), o D (eliminado).

El comando git status debe convertirse en un hábito constante durante el desarrollo. Te ayuda a mantener control sobre qué cambios estás a punto de confirmar y evita sorpresas desagradables en tu historial de versiones.

Staging y commit

Una vez que Git detecta archivos en nuestro directorio de trabajo, necesitamos prepararlos para el commit a través del área de staging. Este proceso de dos pasos nos permite seleccionar exactamente qué cambios queremos incluir en cada versión de nuestro proyecto.

Añadiendo archivos al área de staging

El comando git add mueve archivos desde el directorio de trabajo al área de preparación (staging area). Podemos añadir archivos de forma individual:

git add README.md

Después de ejecutar este comando, git status mostrará:

On branch main

No commits yet

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

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

El archivo README.md ahora aparece bajo "Changes to be committed", indicando que está preparado para ser incluido en el próximo commit. El archivo app.js permanece como no rastreado.

Para añadir múltiples archivos simultáneamente, podemos usar diferentes enfoques:

# Añadir archivos específicos
git add README.md app.js

# Añadir todos los archivos del directorio actual
git add .

# Añadir todos los archivos con una extensión específica
git add *.js

Creando el primer commit

Un commit representa una instantánea completa del estado de nuestro proyecto en un momento específico. Para crear un commit, utilizamos git commit con la opción -m para incluir un mensaje descriptivo:

git add .
git commit -m "Añadir archivos iniciales del proyecto"

La salida del comando será similar a:

[main (root-commit) a1b2c3d] Añadir archivos iniciales del proyecto
 2 files changed, 2 insertions(+)
 create mode 100644 README.md
 create mode 100644 app.js

Esta información nos indica:

  • Hash del commit: a1b2c3d (identificador único abreviado)
  • Rama: main
  • Tipo: root-commit (primer commit del repositorio)
  • Estadísticas: 2 archivos cambiados, 2 líneas insertadas

Verificando el estado después del commit

Tras realizar el commit, ejecutar git status mostrará:

On branch main
nothing to commit, working tree clean

El mensaje "working tree clean" indica que no hay cambios pendientes entre el directorio de trabajo, el área de staging y el último commit. Todos los archivos están sincronizados.

Modificando archivos existentes

Cuando modificamos un archivo ya rastreado por Git, el comportamiento del staging cambia ligeramente. Modifiquemos el archivo README.md:

echo "Este es un proyecto de ejemplo" >> README.md

Al ejecutar git status:

On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

no changes added to commit (use "git add" to stage changes)

El archivo aparece bajo "Changes not staged for commit", indicando que Git detecta modificaciones pero estas no están preparadas para el commit. Necesitamos usar git add nuevamente:

git add README.md
git commit -m "Actualizar descripción del proyecto"

Commits con mensajes descriptivos

Los mensajes de commit son fundamentales para mantener un historial comprensible. Un buen mensaje debe ser conciso pero descriptivo:

# Mensaje claro y específico
git commit -m "Corregir error de sintaxis en función de validación"

# Evitar mensajes vagos
git commit -m "Cambios varios"

Para mensajes más largos, puedes omitir la opción -m y Git abrirá tu editor predeterminado:

git commit

Staging selectivo de cambios

Git permite añadir cambios específicos dentro de un archivo usando la opción -p (patch):

git add -p README.md

Esta opción te permite revisar cada cambio individualmente y decidir si incluirlo en el staging area. Es especialmente útil cuando has realizado múltiples modificaciones en un archivo pero solo quieres commitear algunas de ellas.

Verificando el historial de commits

Para visualizar el historial de commits creado, utilizamos:

git log --oneline

Este comando muestra una lista concisa de todos los commits:

b2c3d4e Actualizar descripción del proyecto
a1b2c3d Añadir archivos iniciales del proyecto

Cada línea muestra el hash abreviado del commit seguido del mensaje, proporcionando una vista rápida de la evolución del proyecto.

El flujo staging-commit se convierte en el ritmo natural del desarrollo con Git: modificas archivos, los añades al staging area, y creas commits que representan unidades lógicas de cambio en tu proyecto.

Fuentes y referencias

Documentación oficial y recursos externos para profundizar en Git

Documentación oficial de Git
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Git es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Git

Explora más contenido relacionado con Git y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

  • Comprender cómo inicializar un repositorio Git y la estructura que crea.
  • Interpretar la información proporcionada por el comando git status.
  • Aprender a añadir archivos al área de staging con git add.
  • Realizar commits con mensajes descriptivos para registrar cambios.
  • Utilizar herramientas para gestionar cambios selectivos y visualizar el historial de commits.