Git Init: Cómo Inicializar y Configurar un Repositorio Git

¿Alguna vez has eliminado un archivo por error o has sobrescrito tu código sin posibilidad de recuperarlo? Sin control de versiones, tales errores pueden ser catastróficos. Ahí es donde entra git init—transforma la carpeta de tu proyecto en un repositorio Git, asegurando que cada cambio sea rastreable y recuperable.

En este tutorial, te mostraré cómo configurar Git, compartir consejos personales de mi experiencia y ayudarte a crear un flujo de trabajo robusto desde el principio.

¿Qué es Git Init?

El comando git init inicia tu viaje de control de versiones. Cuando lo ejecutas, Git crea una carpeta oculta .git dentro de tu directorio de proyecto que almacena datos de configuración, historial de confirmaciones y toda la información necesaria para rastrear tus cambios.

Con cada modificación registrada, puedes ramificar, fusionar y colaborar con confianza—sabiendo que la historia completa de tu proyecto está siempre a solo un comando de distancia.

Imagen por el autor

Cómo usar Git Init

Antes de adentrarnos en temas avanzados, es esencial entender cómo usar git init en la práctica.

Uso básico de git init

Sigue estos pasos para crear un nuevo repositorio de Git desde cero:  

  • Abre tu terminal: Inicia tu interfaz de línea de comandos preferida.
  • Navega hasta el directorio de tu proyecto:
cd /path/to/your/project

Esto cambia su carpeta actual a la que desea rastrear.

  • Inicializa el repositorio:
git init

Después de ejecutar este comando, se crea una carpeta oculta .git. Esa carpeta almacena cada bit de información de seguimiento de Git.

  • Verificar el estado del repositorio:
git status

En esta etapa, Git está configurado pero no rastrea ningún archivo.

Inicializando un repositorio con un proyecto existente

Para proyectos que aún no están bajo control de versiones, puedes inicializar Git y comenzar a rastrear cambios de la siguiente manera:

  • Navega hasta el directorio de tu proyecto:
cd /path/to/your/project
  • Convierte el proyecto en un repositorio Git:
git init

Como se mencionó anteriormente, el comando anterior crea la carpeta oculta .git que permite el rastreo de Git.

  • Prepara tus archivos:Dado que git init no rastrea automáticamente los archivos, agrégalos con:
git add .
  • Compromete tus archivos: Guarda la instantánea inicial ejecutando:  
git commit -m "Initial commit"

Este proceso convierte un proyecto no gestionado en uno con un historial de versiones completo, listo para un nuevo desarrollo y colaboración.

Configurando Git (si es necesario)

Si te encuentras con el error “Autor Desconocido”, significa que Git no sabe quién eres. Para solucionarlo, configura tu identidad de usuario:

  • Configura la información de usuario de Git: 
git config --global user.email "[email protected]" git config --global user.name "Your Name"

Usar --global aplica estos ajustes a todos los repositorios en tu máquina. Omitirlo establecerá la identidad solo para el repositorio actual.

  • Verifica tu configuración:
git config --global user.email git config --global user.name
  • Vuelve a intentar el commit:
git commit -m "First Commit"

Me encontré con este error cuando comencé a usar Git por primera vez, configurar mi identidad lo resolvió.

El commit inicial de Git se ejecutó con éxito en PowerShell.

Conectando a un repositorio remoto

Una vez que hayas inicializado un repositorio Git localmente, es probable que quieras respaldarlo o colaborar con otros conectándolo a un repositorio remoto (por ejemplo, GitHub, GitLab, Bitbucket).

  • Agregar un repositorio remoto: Para enlazar tu repositorio local a uno remoto, usa:
git remote add origin <repository-url>

Sustituye <repository-url> con la URL de tu repositorio remoto. origin es el alias predeterminado para el repositorio remoto, pero puedes usar cualquier nombre.

  • Puedes verificar la conexión con:
git remote -v
  • Envía tus cambios al repositorio remoto:
# Envía el primer commit y sigue la rama remota git push -u origin $(git branch --show-current) # Funciona para 'main' o 'master'

El comando anterior empuja la rama actual y la establece para hacer seguimiento de la rama remota.

Si estás utilizando una versión antigua de Git que no soporta $(git branch --show-current), utiliza:

git push -u origin main # O 'master' dependiendo de tu rama predeterminada

A medida que continúes trabajando en tu proyecto, necesitarás fusionar cambios de diferentes ramas al colaborar con un equipo. Aprende cómo manejar fusiones eficazmente con este tutorial de fusión de Git.

Autenticación y acceso

Si estás haciendo push a GitHub, GitLab o Bitbucket, es posible que necesites autenticarte. Dependiendo de tu configuración, puedes:

  • Usa claves SSH en lugar de la autenticación HTTPS (recomendado por seguridad):
git remote set-url origin [email protected]:your-username/your-repo.git
  • Usa un Token de Acceso Personal (PAT) en lugar de una contraseña al usar HTTPS. Para GitHub, reemplaza la contraseña con un token:
git push https://[email protected]/your-repo.git

Conectar a un repositorio remoto fue un punto de inflexión para mí: validó que mi trabajo local estaba respaldado de forma segura y listo para la colaboración. Además, me dio confianza en el control de versiones, sabiendo que mi historial estaba preservado incluso si mi máquina local fallaba.

Opciones avanzadas con Git Init

Para aquellos que deseen personalizar sus configuraciones de Git, las opciones avanzadas proporcionan flexibilidad adicional.

Inicializando un repositorio bare

Si estás configurando un servidor Git donde los desarrolladores subirán sus cambios pero no editarán archivos directamente, necesitarás un repositorio bare. Un repositorio bare omite un directorio de trabajo y contiene solo datos de control de versiones. Se suele utilizar para repositorios remotos:

git init --bare <repository-name>

Los repositorios bare se utilizan a menudo en flujos de trabajo de GitOps, donde la infraestructura y el despliegue de aplicaciones se gestionan a través de Git. Si estás interesado en aprender cómo GitOps automatiza y agiliza la entrega de software, echa un vistazo a esta guía de GitOps.

Inicializando con una configuración específica

Si necesitas ganchos personalizados de Git o archivos de configuración desde el principio, inicializa con una plantilla personalizada:

git init --template=<template-directory>

Una vez usé una plantilla personalizada para cargar ganchos esenciales automáticamente, lo que agilizó el proceso de implementación de nuestro equipo.

Mejores Prácticas para Usar Git Init

Comenzar con buen pie en Git puede ahorrarte tiempo y problemas más adelante.

Organizando la estructura de tu proyecto

Antes de ejecutar git init, organiza tus archivos en una estructura de carpetas lógica: separa el código, la documentación y los recursos.

En un proyecto que heredé, los archivos de varios subproyectos se mezclaron, lo que provocó conflictos de fusión y confusión. Al reorganizar todo en carpetas claramente definidas, reinicializar el repositorio y configurar un .gitignore adecuado, el flujo de trabajo mejoró drásticamente.

Agregar un archivo .gitignore temprano

Inmediatamente después de inicializar tu repositorio, crea un archivo .gitignore para evitar que se rastreen archivos innecesarios:

touch .gitignore

Luego, edítalo para incluir reglas como:

# Ignorar carpetas de dependencias y archivos de registro node_modules/ *.log .DS_Store # Archivo de sistema macOS Thumbs.db # Archivo de sistema Windows

Este paso me salvó de historiales de commits abultados y posibles conflictos futuros.

Para obtener una guía detallada sobre cómo configurar un archivo .gitignore, consulta este tutorial de gitignore.

Realizar confirmaciones frecuentes

Hacer confirmaciones pequeñas y frecuentes con mensajes claros ayuda a construir un historial detallado del proyecto y simplifica la depuración y la colaboración.

Solución de problemas de problemas comunes al iniciar Git

Incluso con una planificación adecuada, pueden surgir problemas. Aquí tienes algunos problemas comunes y sus soluciones.

Inicialización equivocada en el directorio incorrecto

Problema: Ejecutaste git init en la carpeta incorrecta y ahora tienes un repositorio Git no deseado.

Solución:  

  • Eliminar el repositorio Git:
rm -rf .git

> Advertencia: Esto elimina todo el historial de versiones de ese repositorio. ¡Asegúrate de estar en la carpeta correcta antes de ejecutar este comando!

Luego, navega hasta el directorio correcto y ejecuta git init nuevamente. 

He cometido este error algunas veces, así que verifica dos veces tu directorio de trabajo para evitarlo.

Tratando con archivos no rastreados

Problema: Después de ejecutar git init, Git no está rastreando tus archivos. Al ejecutar git status se muestra:

No commits yet Untracked files: (use "git add <file>..." to include in what will be committed)

Solución: 

  • Verifica si los archivos realmente no están siendo rastreados:
git status

Si tus archivos aparecen como archivos no rastreados, Git los ve pero aún no los está rastreando.

  • Luego, agrega los archivos necesarios con:
git add <file-name>
  • Realiza el commit de los archivos:
git commit -m "Initial commit"

Las verificaciones regulares de estado aseguran que no se pase por alto nada importante.

Si git status no muestra archivos, verifica si tu proyecto contiene un archivo .gitignore que podría estar excluyendo archivos importantes.

Conclusión

Dominar git init es el primer paso crucial para construir un sistema de control de versiones confiable que potencie la colaboración y la gestión eficiente de proyectos. Sigue esta guía, desde la inicialización y organización de tu repositorio hasta la solución de problemas comunes, para establecer un flujo de trabajo fluido y eficiente.

Comienza poco a poco: inicializa un proyecto de prueba usando git init y experimenta con la preparación, confirmación y envío de cambios. ¡Cuanto antes domines los fundamentos de Git, más eficiente será tu flujo de trabajo! Y si quieres profundizar aún más en tus habilidades de Git, echa un vistazo a estos cursos de DataCamp:

  • Git Intermedio – Mejora tus habilidades con técnicas avanzadas de ramificación, fusión y resolución de conflictos.
  • Fundamentos de GitHub – Aprende cómo integrar Git con GitHub de manera fluida para proyectos colaborativos.

¡Feliz codificación! ¡Y que se construyan proyectos confiables e innovadores usando Git!

Source:
https://www.datacamp.com/tutorial/git-init