HDP115

Crear un repositorio local

Aprende a inicializar y configurar un repositorio Git local para comenzar a gestionar tus proyectos con control de versiones.

CE

Cristian Escalante

Última actualización: 20 de abril de 2025

git
control de versiones
desarrollo

Crear un repositorio local

Un repositorio Git local es la base para gestionar el control de versiones de tus proyectos. En esta lección aprenderás cómo inicializar un repositorio Git en tu máquina local y configurarlo correctamente para comenzar a trabajar.

¿Qué es un repositorio local?

Un repositorio local de Git es un directorio en tu computadora que contiene:

  1. Los archivos de tu proyecto
  2. Un subdirectorio especial llamado .git que almacena:
    • El historial completo de cambios
    • La configuración del repositorio
    • Referencias a commits, ramas y etiquetas
    • Metadatos necesarios para el control de versiones

Inicializar un nuevo repositorio

Hay dos formas principales de crear un repositorio local:

  1. Inicializar uno nuevo desde cero
  2. Clonar un repositorio existente

Método 1: Inicializar un repositorio desde cero

Para crear un repositorio Git completamente nuevo:

# Crear un directorio para el proyecto (opcional)
mkdir mi-proyecto
cd mi-proyecto

# Inicializar el repositorio Git
git init

Al ejecutar git init, verás un mensaje similar a:

Initialized empty Git repository in /ruta/a/mi-proyecto/.git/

Esto indica que Git ha creado el directorio .git y ha configurado todo lo necesario para comenzar a rastrear los cambios en tu proyecto.

Método 2: Inicializar un proyecto existente

Si ya tienes un proyecto con archivos y quieres comenzar a controlarlo con Git:

# Navegar al directorio del proyecto
cd ruta/a/mi-proyecto-existente

# Inicializar el repositorio Git
git init

Después de inicializar el repositorio, los archivos existentes aparecerán como "untracked" (no rastreados). Puedes verificarlo con:

git status

Para comenzar a rastrear estos archivos:

# Añadir todos los archivos
git add .

# Crear el primer commit
git commit -m "Estado inicial del proyecto"

Estructura del directorio .git

El directorio .git contiene toda la información necesaria para el control de versiones. Es importante no modificarlo manualmente a menos que sepas exactamente lo que estás haciendo. Algunos componentes importantes son:

  • config: Configuración específica del repositorio
  • HEAD: Referencia a la rama actual
  • index: Área de preparación (staging area)
  • objects/: Base de datos de objetos Git (commits, árboles, blobs)
  • refs/: Referencias a commits (ramas, etiquetas)

Puedes explorar esta estructura con:

ls -la .git

Configuración inicial del repositorio

Después de inicializar tu repositorio, es recomendable configurar algunos ajustes básicos:

1. Configurar usuario y email

Si aún no lo has hecho globalmente, configura tu nombre de usuario y email para este repositorio:

git config user.name "Tu Nombre"
git config user.email "tu.email@ejemplo.com"

Para aplicar esta configuración globalmente (a todos tus repositorios):

git config --global user.name "Tu Nombre"
git config --global user.email "tu.email@ejemplo.com"

2. Configurar el editor predeterminado

Puedes configurar qué editor de texto se abrirá cuando Git necesite que escribas mensajes de commit:

git config --global core.editor "code --wait"  # Para Visual Studio Code
git config --global core.editor "vim"          # Para Vim
git config --global core.editor "nano"         # Para Nano

3. Configurar el nombre de la rama principal

En versiones recientes de Git, puedes configurar el nombre de la rama principal predeterminada:

git config --global init.defaultBranch main

Crear el primer commit

Después de inicializar tu repositorio, es importante crear un commit inicial:

# Crear un archivo README
echo "# Mi Proyecto" > README.md

# Añadir el archivo al área de preparación
git add README.md

# Crear el primer commit
git commit -m "Commit inicial: Añade README"

Este primer commit establece el punto de partida para el historial de tu proyecto.

Verificar el estado del repositorio

Para asegurarte de que todo está configurado correctamente:

# Ver el estado actual
git status

# Ver el historial de commits
git log

# Ver la configuración del repositorio
git config --list

Crear un archivo .gitignore

Es una buena práctica crear un archivo .gitignore para especificar qué archivos y directorios Git debe ignorar:

# Crear archivo .gitignore
touch .gitignore

Edita el archivo .gitignore para incluir patrones comunes según tu tipo de proyecto:

# Archivos temporales del sistema
.DS_Store
Thumbs.db

# Directorios de dependencias
/node_modules/
/vendor/

# Archivos de entorno
.env
.env.local

# Archivos compilados
*.class
*.o
*.pyc

# Directorios de compilación
/build/
/dist/
/out/

# Archivos de configuración del IDE
.idea/
.vscode/
*.sublime-project
*.sublime-workspace

No olvides añadir y hacer commit del archivo .gitignore:

git add .gitignore
git commit -m "Añade archivo .gitignore"

Crear una estructura básica de proyecto

Dependiendo del tipo de proyecto, puedes crear una estructura de directorios inicial:

# Para un proyecto web básico
mkdir src assets docs tests
touch src/index.js
touch index.html

# Añadir estos archivos
git add .
git commit -m "Crea estructura básica del proyecto"

Conectar con un repositorio remoto

Aunque este tema se trata en profundidad en otra lección, es común querer conectar tu repositorio local con uno remoto:

# Añadir un repositorio remoto
git remote add origin https://github.com/usuario/repositorio.git

# Enviar tus commits al repositorio remoto
git push -u origin main

Casos de uso comunes

Inicializar un repositorio para un proyecto web

mkdir mi-sitio-web
cd mi-sitio-web
git init
echo "# Mi Sitio Web" > README.md
mkdir css js images
touch index.html css/style.css js/script.js
git add .
git commit -m "Estructura inicial del sitio web"

Inicializar un repositorio para una librería

mkdir mi-libreria
cd mi-libreria
git init
echo "# Mi Librería" > README.md
echo "MIT License" > LICENSE
mkdir src tests docs examples
touch src/index.js
git add .
git commit -m "Estructura inicial de la librería"

Buenas prácticas

  1. Crea un README informativo: Documenta qué hace tu proyecto, cómo instalarlo y usarlo.
  2. Incluye un LICENSE: Especifica bajo qué términos se puede utilizar tu código.
  3. Configura un .gitignore adecuado: Evita incluir archivos innecesarios en el repositorio.
  4. Haz commits pequeños y frecuentes: Comienza con este hábito desde el principio.
  5. Usa mensajes de commit descriptivos: Establece un estándar para los mensajes desde el inicio.
  6. Crea ramas para características: Incluso en proyectos personales, es buena práctica usar ramas.

Solución de problemas comunes

Inicialicé Git en el directorio equivocado

Si inicializaste Git en el directorio equivocado, simplemente elimina el directorio .git:

rm -rf .git

Quiero cambiar el nombre de la rama principal

Si quieres cambiar el nombre de la rama principal después de inicializar:

# Cambiar de 'master' a 'main'
git branch -m master main

No puedo ver el directorio .git

Los archivos y directorios que comienzan con punto son ocultos en muchos sistemas. Usa:

ls -la  # En Linux/Mac
dir /a   # En Windows

Conclusión

Crear un repositorio Git local es el primer paso para aprovechar el poder del control de versiones en tus proyectos. Con un repositorio correctamente inicializado y configurado, estás listo para comenzar a rastrear cambios, experimentar con nuevas características en ramas separadas y colaborar con otros desarrolladores.

A medida que tu proyecto crezca, la decisión de inicializar un repositorio Git desde el principio demostrará ser invaluable para mantener un historial organizado y facilitar la colaboración.

Flujo de trabajo básico en Git
Aprende el flujo de trabajo fundamental en Git para gestiona...
Clonar un repositorio
Aprende a clonar repositorios Git existentes para obtener un...
Referencias
Git. Git - git-init Documentation. https://git-scm.com/docs/git-init
Git Documentation. Getting Started - First-Time Git Setup. https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
Pro Git Book. Git Basics - Getting a Git Repository. https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos SQL

Aprende los conceptos básicos de SQL

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Conceptos Básicos de UML

Aprende los conceptos básicos de UML

Refuerzo Academico de Herramientas de Productividad 2025