Instalación y configuración
1. Instalación de Git en Windows #
-
Descargar el instalador de Git:
- Visita la página oficial de Git: https://git-scm.com
- Haz clic en "Download for Windows" y selecciona la versión más reciente.
-
Ejecutar el instalador:
- Una vez descargado, ejecuta el archivo
.exe. Aparecerá el asistente de instalación de Git. - Acepta los términos y condiciones y selecciona la ruta de instalación (la ubicación predeterminada es generalmente
C:\Program Files\Git).
- Una vez descargado, ejecuta el archivo
-
Opciones del instalador:
- Durante la instalación, verás varias opciones de configuración. Algunas importantes:
- Seleccionar editor predeterminado: Git te pedirá que elijas un editor de texto predeterminado para editar mensajes de commit. Puedes usar Vim (por defecto) o seleccionar un editor como VS Code o Sublime Text.
- Ajustar la variable de entorno PATH: Selecciona la opción que dice "Git from the command line and also from 3rd-party software", para que Git esté disponible en la línea de comandos y otros programas.
- Configurar la finalización de líneas (line endings): Selecciona la opción recomendada ("Checkout Windows-style, commit Unix-style line endings") para evitar problemas de compatibilidad entre sistemas.
- Durante la instalación, verás varias opciones de configuración. Algunas importantes:
-
Finalizar la instalación:
- Completa la instalación haciendo clic en "Finish". Git se instalará y estará listo para usarse.
-
Verificar la instalación:
- Abre el terminal de Windows (PowerShell o el símbolo del sistema) y escribe:
Si Git está instalado correctamente, verás el número de versión.1git --version
- Abre el terminal de Windows (PowerShell o el símbolo del sistema) y escribe:
2. Instalación de Git en macOS #
-
Instalar Git usando Homebrew:
- Homebrew es un administrador de paquetes para macOS que facilita la instalación de programas.
- Si no tienes Homebrew instalado, primero instala Homebrew abriendo la terminal y ejecutando:
1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Una vez que Homebrew esté instalado, ejecuta el siguiente comando para instalar Git:
1brew install git
-
Verificar la instalación:
- Después de la instalación, verifica que Git esté instalado correctamente escribiendo en la terminal:
1git --version - Deberías ver el número de versión de Git instalado.
- Después de la instalación, verifica que Git esté instalado correctamente escribiendo en la terminal:
-
Instalar Git usando Xcode Command Line Tools:
- Si prefieres no usar Homebrew, también puedes instalar Git a través de las herramientas de línea de comandos de Xcode.
- Abre la terminal y escribe:
1xcode-select --install - Esto instalará las herramientas de línea de comandos de Xcode, que incluyen Git.
- Verifica la instalación con:
1git --version
3. Instalación de Git en Linux #
-
Instalar Git en distribuciones basadas en Debian (Ubuntu):
- Abre la terminal y actualiza el índice de paquetes:
1sudo apt update - Luego instala Git con:
1sudo apt install git
- Abre la terminal y actualiza el índice de paquetes:
-
Instalar Git en distribuciones basadas en Red Hat (Fedora, CentOS):
- Para Fedora:
1sudo dnf install git - Para CentOS:
1sudo yum install git
- Para Fedora:
-
Instalar Git en Arch Linux:
- Si estás usando Arch Linux, puedes instalar Git con el siguiente comando:
1sudo pacman -S git
- Si estás usando Arch Linux, puedes instalar Git con el siguiente comando:
-
Verificar la instalación:
- Después de la instalación, verifica que Git se haya instalado correctamente con el siguiente comando:
1git --version
- Después de la instalación, verifica que Git se haya instalado correctamente con el siguiente comando:
Con Git instalado en tu sistema, ahora puedes empezar a usarlo desde la terminal o interfaz gráfica, dependiendo de tus preferencias. El siguiente paso será configurarlo correctamente para tu entorno de desarrollo, lo que incluye la configuración de tu nombre, correo, y claves SSH para interactuar con servicios como GitHub o GitLab.
4. Configuración inicial de Git #
Una vez que tienes Git instalado en tu sistema, es importante realizar una configuración inicial para personalizar cómo Git manejará los commits y otras operaciones. La configuración más básica y esencial incluye establecer tu nombre y correo electrónico, ya que esta información será incluida en todos tus commits. Esto garantiza que se pueda rastrear quién hizo qué cambios en un proyecto.
Uso de git config #
Git proporciona el comando git config para configurar tanto opciones globales (que se aplican a todos los repositorios en tu sistema) como específicas para cada repositorio. Las configuraciones globales se guardan en un archivo de configuración localizado en tu directorio de usuario (~/.gitconfig), mientras que las configuraciones por repositorio se almacenan en un archivo llamado .git/config dentro de cada repositorio.
Comandos básicos de configuración #
-
Establecer tu nombre de usuario: Este nombre aparecerá en cada uno de tus commits. Puedes configurarlo de la siguiente manera:
1git config --global user.name "Tu Nombre" -
Establecer tu correo electrónico: El correo también se adjunta a cada commit, permitiendo identificar a la persona responsable. Configúralo de la siguiente forma:
1git config --global user.email "tu_email@ejemplo.com" -
Usar
maincomo nombre inicial de las ramas nuevas (recomendado):1git config --global init.defaultBranch main -
Configuraciones de productividad para Git moderno:
-
Empuje automático de rama remota (Git 2.37+): evita tener que escribir
--set-upstreamo-ula primera vez que subes una rama:1git config --global push.autoSetupRemote true -
Estilo de conflicto mejorado (
zdiff3): muestra el código original del ancestro común además de tus cambios y los entrantes:1git config --global merge.conflictstyle zdiff3 -
Ordenar ramas por fecha reciente de commit:
1git config --global branch.sort -committerdate -
Visualización en columnas para comandos como branch o status:
1git config --global column.ui auto -
Reutilización automática de resoluciones de conflictos (rerere):
1git config --global rerere.enabled true
-
-
Verificar la configuración: Después de configurar tus opciones, puedes verificar que todo esté correcto ejecutando el siguiente comando:
1git config --listEsto mostrará una lista de todas las configuraciones activas.
Configuraciones globales vs. por repositorio #
-
Global: La configuración global se aplica a todos los proyectos en tu máquina. Usas el modificador
--globalpara aplicar configuraciones a nivel de usuario, como se mostró anteriormente. -
Por repositorio: Si necesitas configurar Git de manera diferente en un proyecto específico, puedes omitir el
--globaly Git aplicará las configuraciones solo a ese repositorio. Por ejemplo:1git config user.name "Nombre Proyecto Específico" 2git config user.email "email_proyecto@ejemplo.com"Esta configuración quedará guardada en el archivo
.git/configdentro del repositorio y no afectará a otros proyectos.
Otros ajustes útiles en la configuración inicial #
Además de configurar el nombre y el correo, hay algunas configuraciones adicionales que puedes considerar para mejorar tu experiencia de uso de Git:
-
Configurar el editor de texto: Git usará este editor para editar mensajes de commit y resolver conflictos. Puedes elegir tu editor preferido (por ejemplo, VS Code, Nano, Vim, Sublime):
-
Para usar VS Code:
1git config --global core.editor "code --wait" -
Para usar Nano:
1git config --global core.editor "nano" -
Para usar Vim (si no configuras nada, es el valor predeterminado):
1git config --global core.editor "vim"
-
-
Habilitar colores en la salida de Git: Git puede usar colores para mejorar la legibilidad de la información en la terminal:
1git config --global color.ui true -
Manejo de saltos de línea (line endings): Si trabajas en un equipo que usa diferentes sistemas operativos (por ejemplo, Windows y macOS/Linux), puedes configurar Git para normalizar saltos de línea:
-
Para sistemas basados en UNIX (macOS, Linux):
1git config --global core.autocrlf input -
Para Windows:
1git config --global core.autocrlf true
-
Archivos de configuración de Git #
Git almacena la configuración en diferentes archivos dependiendo del nivel de la configuración:
-
Archivo global (
~/.gitconfig): Este archivo contiene las configuraciones que se aplican a todos los repositorios de un usuario. Puedes editar este archivo manualmente si es necesario.Ejemplo de un archivo
.gitconfig:1[user] 2 name = Tu Nombre 3 email = tu_email@ejemplo.com 4[init] 5 defaultBranch = main 6[push] 7 autoSetupRemote = true 8[merge] 9 conflictstyle = zdiff3 10[core] 11 editor = code --wait 12 autocrlf = input 13[color] 14 ui = true -
Archivo local (
.git/config): Cada repositorio Git tiene su propio archivo de configuración local, donde se almacenan las configuraciones específicas para ese proyecto. Este archivo se encuentra en el directorio.gitdel repositorio y se puede editar manualmente si es necesario.
5. Claves SSH en Git #
Cuando trabajas con GitHub o GitLab, una de las formas más seguras y convenientes de autenticarte al interactuar con repositorios remotos es utilizando claves SSH. Las claves SSH te permiten conectarte a un servidor de manera segura sin necesidad de introducir tu usuario y contraseña en cada interacción.
¿Qué es SSH? #
SSH (Secure Shell) es un protocolo que permite una comunicación segura entre dos sistemas utilizando cifrado. En el contexto de Git, SSH se usa para autenticar las conexiones entre tu máquina y los servicios de GitHub/GitLab cuando estás empujando (push), extrayendo (pull) o clonando (clone) repositorios.
Pasos para generar claves SSH #
Verificar si ya tienes una clave SSH existente #
Antes de generar una nueva clave SSH, es recomendable verificar si ya tienes una creada en tu sistema. Para hacer esto, abre tu terminal y escribe:
1ls -al ~/.ssh
Esto mostrará una lista de archivos en el directorio ~/.ssh. Si ves archivos como id_rsa y id_rsa.pub, ya tienes un par de claves SSH. En ese caso, podrías utilizar estas mismas claves para GitHub o GitLab, o decidir crear una nueva.
Generar una nueva clave SSH #
Si no tienes una clave SSH o deseas crear una nueva, sigue estos pasos:
-
Abre una terminal y ejecuta el siguiente comando, reemplazando
youremail@example.comcon el correo electrónico que usas para tu cuenta en GitHub o GitLab:1ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"-t ed25519: Usa el algoritmo recomendado actualmente por GitHub para claves SSH nuevas.-C "tu_email@ejemplo.com": Añade un comentario para identificar la clave.- Si tu entorno no admite Ed25519, usa como alternativa
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com".
-
Cuando se te pregunte dónde guardar la clave, presiona
Enterpara usar la ubicación predeterminada (~/.ssh/id_ed25519en Linux/macOS oC:\Users\usuario\.ssh\id_ed25519en Windows). -
Si deseas, puedes establecer una contraseña para la clave SSH. De lo contrario, presiona
Enterpara no usar contraseña.
Añadir tu clave SSH al agente SSH #
El agente SSH es un programa que maneja tus claves SSH, cargándolas en memoria para que no tengas que introducir la contraseña cada vez que te conectes a un servidor.
-
Inicia el agente SSH con el siguiente comando:
-
En macOS o Linux:
1eval "$(ssh-agent -s)" -
En Windows (con Git Bash):
1eval "$(ssh-agent -s)"
-
-
Agrega la clave SSH recién generada al agente SSH:
1ssh-add ~/.ssh/id_ed25519
Copiar la clave SSH pública #
Ahora debes copiar la clave pública para agregarla a tu cuenta de GitHub o GitLab. Para copiar la clave SSH pública, usa este comando:
1cat ~/.ssh/id_ed25519.pub
Este comando imprimirá la clave pública en la terminal. Copia el contenido completo (normalmente comienza con ssh-ed25519 y termina con tu correo).
Agregar la clave SSH a GitHub o GitLab #
-
Para GitHub:
- Ve a GitHub y accede a tu cuenta.
- Dirígete a Settings (Configuración) y selecciona SSH and GPG keys en el menú lateral.
- Haz clic en New SSH key, asigna un nombre a la clave (por ejemplo, "Mi PC"), y pega la clave pública en el campo correspondiente.
- Haz clic en Add SSH key.
-
Para GitLab:
- Inicia sesión en tu cuenta de GitLab.
- Ve a Settings (Configuración) y selecciona SSH Keys.
- Pega la clave pública en el campo Key y haz clic en Add key.
Verificar la conexión SSH #
Para asegurarte de que todo está configurado correctamente, prueba la conexión con GitHub o GitLab. Usa el siguiente comando:
-
Para GitHub:
1ssh -T git@github.com -
Para GitLab:
1ssh -T git@gitlab.com
Si todo está bien configurado, deberías ver un mensaje como:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Con esto, tu clave SSH está lista para ser utilizada en tus operaciones de Git. Ya no necesitarás ingresar tu nombre de usuario y contraseña cada vez que interactúes con repositorios remotos.
Resumen del tema
Conceptos clave #
- Niveles de Configuración con
git config:- Global (
--globalen~/.gitconfig): aplica a todos los repositorios del usuario (user.name,user.email,init.defaultBranch main). - Local (
.git/config): sobreescribe ajustes para un repositorio específico. - Sistema (
--systemen/etc/gitconfig): para todos los usuarios de la máquina.
- Global (
- Ajustes Críticos de Entorno:
- Editor predeterminado (
core.editor "code --wait"). - Normalización de saltos de línea (
core.autocrlf trueen Windows,inputen Linux/macOS).
- Editor predeterminado (
- Autenticación Asimétrica Segura con SSH: generación de par de claves con algoritmo moderno Ed25519 (
ssh-keygen -t ed25519 -C "email"), adición al agente (ssh-add) y comprobación conssh -T git@github.com.
Qué debes recordar #
Configura tu identidad básica (user.name y user.email) y autentícate con claves SSH Ed25519 para interactuar de forma segura con repositorios remotos sin ingresar contraseñas.