Curso git nivel medio

Instalación de Git en Windows

  1. 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.
  2. 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).
  3. 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.
  4. Finalizar la instalación:

    • Completa la instalación haciendo clic en "Finish". Git se instalará y estará listo para usarse.
  5. Verificar la instalación:

    • Abre el terminal de Windows (PowerShell o el símbolo del sistema) y escribe:
      1git --version
      Si Git está instalado correctamente, verás el número de versión.

Instalación de Git en macOS

  1. 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
  2. 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.
  3. 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

Instalación de Git en Linux

  1. 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
  2. Instalar Git en distribuciones basadas en Red Hat (Fedora, CentOS):

    • Para Fedora:
      1sudo dnf install git
    • Para CentOS:
      1sudo yum install git
  3. Instalar Git en Arch Linux:

    • Si estás usando Arch Linux, puedes instalar Git con el siguiente comando:
      1sudo pacman -S git
  4. Verificar la instalación:

    • Después de la instalación, verifica que Git se haya instalado correctamente con el siguiente comando:
      1git --version

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.

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
  1. 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"
  2. 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"
  3. Verificar la configuración: Después de configurar tu nombre y correo, puedes verificar que todo esté correcto ejecutando el siguiente comando:

    1git config --list

    Esto mostrará una lista de todas las configuraciones activas, incluidas las que acabas de definir. Deberías ver algo como:

    user.name=Tu Nombre
    user.email=tu_email@ejemplo.com
Configuraciones globales vs. por repositorio
  • Global: La configuración global se aplica a todos los proyectos en tu máquina. Usas el modificador --global para 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 --global y 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/config dentro 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:

  1. 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"
  2. Habilitar colores en la salida de Git: Git puede usar colores para mejorar la legibilidad de la información en la terminal (por ejemplo, mostrando en rojo y verde las diferencias en los archivos). Puedes habilitar el uso de colores con el siguiente comando:

    1git config --global color.ui true
  3. Configurar el método de fusión predeterminado: Git te permite elegir entre diferentes estrategias de fusión (merge). Puedes establecer la estrategia predeterminada para evitar conflictos o errores comunes:

    1git config --global merge.conflictstyle diff3
  4. Manejo de saltos de línea (line endings): Si trabajas en un equipo que usa diferentes sistemas operativos (por ejemplo, Windows y macOS/Linux), podrías encontrarte con problemas relacionados con los saltos de línea. Para evitar estos problemas, puedes configurar Git para que maneje los saltos de línea correctamente:

    • 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:

  1. 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[core]
    5  editor = code --wait
    6  autocrlf = input
    7[color]
    8  ui = true
  2. 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 .git del repositorio y se puede editar manualmente si es necesario.


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

1. 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.

2. Generar una nueva clave SSH

Si no tienes una clave SSH o deseas crear una nueva, sigue estos pasos:

  1. Abre una terminal y ejecuta el siguiente comando, reemplazando youremail@example.com con el correo electrónico que usas para tu cuenta en GitHub o GitLab:

    1ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
    • -t rsa: Especifica que se utilizará el algoritmo RSA para generar la clave.
    • -b 4096: Define el tamaño de la clave en bits (4096 es una longitud segura).
    • -C "youremail@example.com": Añade un comentario con tu correo electrónico para identificar la clave.
  2. Cuando se te pregunte dónde guardar la clave, presiona Enter para usar la ubicación predeterminada (/home/usuario/.ssh/id_rsa en Linux/macOS o C:\Users\usuario\.ssh\id_rsa en Windows).

  3. Si deseas, puedes establecer una contraseña para la clave SSH. De lo contrario, presiona Enter para no usar contraseña.

3. 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.

  1. 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)"
  2. Agrega la clave SSH recién generada al agente SSH:

    1ssh-add ~/.ssh/id_rsa
4. 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_rsa.pub

Este comando imprimirá la clave pública en la terminal. Copia el contenido completo (comienza con ssh-rsa y termina con tu correo).

5. Agregar la clave SSH a GitHub o GitLab
  • Para GitHub:

    1. Ve a GitHub y accede a tu cuenta.
    2. Dirígete a Settings (Configuración) y selecciona SSH and GPG keys en el menú lateral.
    3. 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.
    4. Haz clic en Add SSH key.
  • Para GitLab:

    1. Inicia sesión en tu cuenta de GitLab.
    2. Ve a Settings (Configuración) y selecciona SSH Keys.
    3. Pega la clave pública en el campo Key y haz clic en Add key.
6. 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

La configuración inicial de Git es esencial para personalizar cómo Git interactúa con tus proyectos. Establecer tu nombre y correo garantiza que tus contribuciones sean correctamente atribuidas, mientras que otras configuraciones opcionales como el editor de texto y los colores en la terminal mejoran tu experiencia de uso. También puedes ajustar configuraciones globales para todos tus proyectos o configuraciones locales específicas por repositorio.

  • Loading...
  • Quieres identificarte cada vez que añades cambios a git. Configura tu correo electrónico de forma global en git.

    Loading...
  • Quieres cambiar de forma global el editor de texto que usa git para los mensajes de commit.

    Por defecto es vi. Cambia el editor de texto a pico.

    Loading...
  • Vamos a generar una clave SSH utilizando el algoritmo RSA con un tamaño de 4096 bits, que proporciona una seguridad robusta, y añadiremos un comentario que suele ser la dirección de correo electrónico para identificar fácilmente la clave.

    Loading...