W3docs

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.

GitRepository

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 init

Al 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.txt con el contenido "commit example for git repo"
  • ejecuta git status para confirmar que el nuevo archivo no está rastreado
  • ejecuta git add GitCommit.txt para moverlo al área de preparación
  • ejecuta git commit con 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 -v

Esto 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 main

La 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 main

Si el proyecto ya existe en un remoto, omites git init y git remote addgit 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.

Práctica

Práctica
¿Cuáles son los aspectos clave y las operaciones relacionadas con un repositorio Git?
¿Cuáles son los aspectos clave y las operaciones relacionadas con un repositorio Git?
Was this page helpful?