Repositorio Git
Conoce qué es un repositorio Git, cómo inicializarlo y clonarlo con git init y git clone, guardar cambios y publicarlos.
¿Qué es un repositorio Git?
Un repositorio Git es el almacén de los archivos de tu proyecto junto con el historial completo de cada cambio realizado en ellos. Te permite guardar versiones de tu código (commits), moverte entre esas versiones y colaborar con otros sin perder trabajo.
Esta página cubre todo el ciclo de vida de un repositorio: crearlo, hacer y guardar cambios, conectarlo a un remoto y compartir tu trabajo. Cada paso enlaza a un capítulo dedicado donde puedes profundizar más.

El directorio .git
Todo lo que convierte una carpeta en un repositorio vive en un único subdirectorio oculto llamado .git en la raíz del proyecto. Contiene el historial de commits, ramas, etiquetas, configuración y el área de preparación. Elimina .git y te quedarás con archivos planos — el historial de versiones desaparece. Copia .git junto con los archivos y habrás copiado el repositorio completo.
Repositorios locales vs. remotos
Git es un sistema de control de versiones distribuido, por lo que existen dos tipos de repositorio con los que trabajarás:
- Un repositorio local vive en tu propia máquina. Puedes hacer commits en él, crear ramas e inspeccionar su historial sin conexión — no se necesita red.
- Un repositorio remoto vive en un servidor (por ejemplo GitHub o Bitbucket). Es la copia compartida a la que tu equipo envía y desde la que obtiene cambios.
Un flujo de trabajo típico edita archivos de forma local, los registra como commits y luego sincroniza esos commits con el remoto.
Git Init para inicializar un nuevo repositorio
Usa el comando git init para convertir una carpeta existente en un repositorio. Se ejecuta una sola vez, cuando el proyecto aún no tiene control de versiones.
git init
git initAl ejecutarlo dentro de la carpeta del proyecto, se crea el subdirectorio oculto .git y se imprime algo como:
Initialized empty Git repository in /path/of/project/.git/También puedes crear el repositorio en una carpeta con el nombre que elijas en un solo paso pasando un directorio:
git init directory
git init <directory>Esto crea la carpeta (si no existe) e inicializa un repositorio Git vacío dentro de ella. Ninguna rama apunta a un commit todavía; la rama predeterminada (normalmente main o master, según tu versión de Git y configuración) comienza a existir solo tras el primer commit.
Git Clone para clonar un repositorio existente
Si el proyecto ya existe en un servidor remoto, no ejecutes git init. En su lugar, usa git clone para copiarlo a tu máquina. Esta también es una operación de una sola vez por proyecto.
git clone repo url
git clone <repo url>La clonación descarga el historial completo y los archivos de trabajo, y — a diferencia de git init — configura automáticamente el origen como un remoto llamado origin. Eso significa que puedes ejecutar git push y git pull de inmediato sin configuración adicional.
Git Add y Git Commit para guardar cambios en el repositorio
Guardar un cambio es un proceso de dos pasos en Git. Primero, git add mueve los cambios al área de preparación (también llamada índice) — una zona de espera donde eliges exactamente qué irá en la próxima instantánea. Luego, git commit registra ese contenido preparado como un punto permanente en el historial. Separar la operación te permite confirmar solo algunos de tus cambios a la vez.
El flujo siguiente crea un archivo, comprueba su estado, lo prepara y lo confirma:
- cambia de directorio a
/path/of/project - crea un nuevo archivo
GitCommit.txtcon el contenido "commit example for git repo" - ejecuta git status para confirmar que el nuevo archivo no está rastreado
- ejecuta
git add GitCommit.txtpara moverlo al área de preparación - ejecuta
git commitcon un mensaje que describa el trabajo realizado
git add and git commit
cd /path/of/project
echo "commit example for git repo" >> GitCommit.txt
git status
git add GitCommit.txt
git commit -m "added GitCommit.txt to the repo"Ejecuta git status en cualquier momento para ver qué archivos no están rastreados, están preparados o han sido modificados. Solo los archivos que hayas añadido explícitamente con git add se incluyen en el próximo commit. Para mantener archivos de salida de compilación, secretos o dependencias fuera del repositorio por completo, inclúyelos en un archivo .gitignore.
Git Remote Add para conectarse a un repositorio remoto
Si creaste el repositorio con git init, aún no tiene un remoto. Añade uno con el comando git remote. Por convención, el remoto principal se llama origin:
git remote add
git remote add origin <remote_repo_url>Verifica que el remoto fue registrado antes de publicar:
git remote -vEsto imprime las URL de fetch y push para cada remoto configurado, por ejemplo:
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)(Los repositorios creados con git clone ya tienen origin configurado, por lo que puedes omitir este paso.)
Git Push para interactuar con el repositorio
Si usaste git clone, ya hay un repositorio remoto configurado, por lo que puedes ejecutar git push para publicar tus cambios. Si usaste git init, primero debes añadir un repositorio remoto (ver más arriba). Puedes usar un servicio de Git alojado como GitHub o Bitbucket, crear un repositorio allí y usar la URL proporcionada para conectar tu proyecto local.
Después de añadir el remoto, puedes publicar ramas locales en él:
git push
git push -u origin mainLa opción -u (abreviatura de --set-upstream) hace dos cosas: publica tus cambios y vincula tu rama local a la remota. Una vez establecido ese vínculo, puedes ejecutar git push y git pull sin especificar el remoto o la rama cada vez.
Git Config para configuración e instalación
Antes de tu primer commit, Git necesita saber quién eres. El comando git config establece opciones que controlan la identidad del usuario, las preferencias y el comportamiento del repositorio. La configuración existe en tres ámbitos, cada uno prevaleciendo sobre el más amplio.
Usa el indicador --global para establecer opciones para el usuario actual. Estas se aplican a todos los repositorios que posees, que es el ámbito adecuado para tu nombre y correo electrónico:
git repository, git config global user.name
git config --global user.name <name>
git config --global user.email <email>Usa --local (el predeterminado cuando omites un indicador de ámbito) para establecer una opción solo para el repositorio actual. Esto es útil cuando un proyecto necesita una identidad diferente a tu predeterminada global:
git repository, git config local user.email
git config --local user.email <email>Usa --system para establecer la configuración para todos los usuarios y repositorios de la máquina — por ejemplo, un editor predeterminado compartido:
git config system editor
git config --system core.editor <editor>Cuando la misma clave está configurada en más de un ámbito, local prevalece sobre global, y global prevalece sobre system, por lo que un valor por repositorio siempre tiene prioridad.
Poniéndolo todo junto
Para un proyecto completamente nuevo que quieres compartir, la secuencia completa es:
git init
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
echo "# My Project" >> README.md
git add README.md
git commit -m "Initial commit"
git remote add origin <remote_repo_url>
git push -u origin mainSi el proyecto ya existe en un remoto, omites git init y git remote add — git clone <repo url> te da un repositorio listo para usar en un solo comando.
Desde aquí, profundiza en los comandos individuales: git add y git commit para guardar trabajo, git status para inspeccionarlo, y git push / git pull para sincronizarlo con el remoto.