git-init-inicializar-repositorio

Creando tu primer repositorio con git init

  • 5 min

Una vez tenemos Git instalado y configurado, el primer paso es transformar nuestro directorio de trabajo en un repositorio gestionado por Git.

¿Qué es un repositorio?

Es que es un espacio de trabajo que se encuentra bajo el control de Git.

A efectos prácticos, es la carpeta normal donde tienes los ficheros de tu proyecto, a la que Git le añade la información que necesita para controlar los cambios.

Es decir, uno de los puntos fuertes de Git es que funciona con carpetas de ficheros normales y corrientes de tu ordenador (no hace falta configurar un servidor central ni nada asi).

Simplemente Git le añade la estructura interna necesaria para que el sistema pueda hacer su trabajo (indexar archivos y registrar el historial de cambios).

El comando git init

El comando para empezar a controlar una carpeta con Git es git init. Este comando convierte una carpeta normal en un reposotirio de Git.

ComandoDescripción
git initInicia un nuevo repositorio Git en un directorio

Este comando crea la estructura interna necesaria para que Git pueda funcionar. Puedes usarlo tanto en una carpeta vacia, como en una que ya tenga ficheros.

En ambos casos, el proceso es el mismo. Simplemente:

Abres la terminal dentro de la carpeta del proyecto.

Ejecutas:

git init

Git te responderá confirmando que ha inicializado un repositorio:

Initialized empty Git repository in C:/Proyectos/MiWeb/.git/

Si lanzas git init en una carpeta que ya tenía archivos, tranquilo. Git no borra ni modifica nada.

Simplemente se activa y se queda esperando a que le digas qué archivos quieres guardar.

¿Qué ha pasado realmente? La carpeta oculta .git

Si vas a tu carpeta, parecerá que no ha pasado nada. Tus archivos siguen igual. Pero si activas la opción de “Ver archivos ocultos” en tu sistema operativo verás que ha aparecido una carpeta nueva llamada .git.

Realmente esta carpeta es el repositorio

Todo la arquitectura interna (el Staging Area, la base de datos de commits, la configuración local, las ramas…) vive dentro de esta carpeta.

  • Tu ficheros visibles son el Working Directory.
  • La carpeta .git es el Repository.

Estructura técnica de un repositorio Git

Generalmente no hace falta que mires, ni toques, el directorio oculto llamado .git. Pero, para que lo sepas, la estructura es algo así:

.git/ ├── HEAD # Apunta a la rama actual
├── config # Configuración específica del repo
├── objects/ # Almacena todos los objetos (commits, trees, blobs)
├── refs/ # Referencias a commits (ramas y tags)
└── hooks/ # Scripts para automatizar acciones

Nunca borres ni modifiques a mano la carpeta .git a menos que quieras eliminar todo el historial del proyecto y dejar de usar Git en esa carpeta.

Si la borras, tus archivos seguirán ahí, pero perderás todos los “Puntos de guardado” (commits) y ramas.

Comprobar el repositorio con git status

Ahora que tenemos el repositorio inicializado, podemos consultar el estado en el que se encuentra con git status

ComandoDescripción
git statusMuestra el estado actual de los archivos en tu directorio de trabajo.

Para ejecutarlo, simplemente hacemos,

git status

Si acabas de inicializar un repositorio en una carpeta con archivos, verás algo así:

On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        index.html
        style.css
        script.js

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

Git nos está diciendo:

  1. On branch main: Estamos en la rama principal.
  2. No commits yet: El repositorio está recién creado, no hay historial.
  3. Untracked files: Ve archivos en la carpeta, pero no los está vigilando. Si los modificas ahora, Git no se enterará.

Este es el estado natural de un repositorio recién creado. Git no rastrea nada automáticamente; nosotros tenemos que ser explícitos.

¿Y git clone?

Si has visto algo de Git previamente, seguramente habrás oído hablar de git clone ¿Cuál es la diferencia?

Característicagit initgit clone
UsoCrear repo nuevoCopiar repo existente
OrigenLocalRemoto (URL)
HistorialVacíoCompleto (incluye commits previos)
RemotesNinguno por defectoConfigura origin automáticamente
  • Usamos git init cuando tenemos un proyecto en nuestro ordenador (vacío o con código) y queremos crear un repositorio nuevo localmente.
  • Usamos git clone cuando el repositorio ya existe en un servidor (como GitHub o GitLab) y queremos descargarnos una copia a nuestro ordenador.

Técnicamente, git clone hace un git init internamente, añade el servidor remoto y se descarga todos los datos. Pero eso lo veremos más adelante cuando hablemos de repositorios remotos.