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.
| Comando | Descripción |
|---|---|
git init | Inicia 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
.gites 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
| Comando | Descripción |
|---|---|
git status | Muestra 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)
Git nos está diciendo:
- On branch main: Estamos en la rama principal.
- No commits yet: El repositorio está recién creado, no hay historial.
- 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ística | git init | git clone |
|---|---|---|
| Uso | Crear repo nuevo | Copiar repo existente |
| Origen | Local | Remoto (URL) |
| Historial | Vacío | Completo (incluye commits previos) |
| Remotes | Ninguno por defecto | Configura origin automáticamente |
- Usamos
git initcuando tenemos un proyecto en nuestro ordenador (vacío o con código) y queremos crear un repositorio nuevo localmente. - Usamos
git clonecuando 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.
