Cómo usar GitHub en Ubuntu: Guía completa de principiante a avanzado con Git, SSH y VS Code

.

目次

1. Introducción

¿Por qué conectar Ubuntu con GitHub?

En los últimos años, el uso de Git y GitHub se ha convertido en una práctica estándar en el desarrollo de software y en la operación de sistemas. Para ingenieros y programadores que trabajan en entornos Linux como Ubuntu, integrarse con GitHub forma parte del flujo de trabajo diario.

Git es una herramienta para gestionar el historial de versiones del código fuente y es esencial para una colaboración eficiente entre varios desarrolladores. GitHub, por otro lado, es un servicio de alojamiento que permite compartir y publicar en línea repositorios gestionados con Git, sirviendo como un hub global donde los desarrolladores intercambian código.

¿Por qué usar GitHub en Ubuntu?

Ubuntu es una distribución Linux muy popular entre los desarrolladores y es conocida por su excelente compatibilidad con el desarrollo de código abierto. Proporciona un entorno donde Git y otras herramientas de desarrollo pueden instalarse fácilmente, lo que hace que la integración con GitHub sea fluida y eficiente.

Los casos de uso típicos para combinar Ubuntu y GitHub incluyen:

  • Gestionar y compartir código Python, C++ y de otros lenguajes en GitHub
  • Contribuir a proyectos de código abierto
  • Publicar tu trabajo como portafolio

Qué aprenderás en este artículo

Esta guía explica todo, desde lo básico hasta lo avanzado, sobre el uso de GitHub en Ubuntu mediante los siguientes pasos:

  • Cómo instalar Git en Ubuntu
  • Configuración inicial de Git y configuración de SSH
  • Creación y gestión de repositorios en GitHub
  • Desarrollo eficiente usando Visual Studio Code
  • Consejos de solución de problemas y preguntas frecuentes

Incluso los usuarios que se acerquen por primera vez a GitHub pueden seguirla sin problemas, con ejemplos reales de comandos y notas importantes incluidas. Si deseas aprovechar al máximo GitHub en Ubuntu, sigue leyendo hasta el final.

2. Instalando Git en Ubuntu

¿Qué es Git? Un repaso rápido

Git es un Sistema de Control de Versiones (VCS) usado en el desarrollo de software para gestionar el historial de cambios del código fuente. Permite a los desarrolladores restaurar estados anteriores y colaborar simultáneamente.

Una gran ventaja de los entornos Linux como Ubuntu es lo fácil que es instalar Git. Con el método que se muestra a continuación, la instalación puede completarse en minutos desde la terminal.

Instalando Git vía APT

La forma más común de instalar Git en Ubuntu es usando APT (Advanced Package Tool). Sigue estos pasos:

1. Actualizar la lista de paquetes

sudo apt update

Este comando recupera la información más reciente de los paquetes. Siempre ejecútalo antes de instalar software nuevo.

2. Instalar Git

sudo apt install git

Cuando se te solicite “Y/n”, escribe y y presiona Enter para iniciar la instalación.

Verificar la instalación de Git

Después de la instalación, confirma que Git se haya instalado correctamente:

git --version

Si ves una salida similar a la siguiente, Git se instaló con éxito:

git version 2.34.1

El número de versión puede variar según la versión de Ubuntu que tengas, pero cualquier salida que muestre una versión confirma el éxito.

Instalación vía Snap (opcional)

Aunque Git también puede instalarse usando el comando snap, APT suele ser más estable y está más extendido. A menos que tengas una razón específica, se recomienda usar APT.

3. Configuración inicial de Git

Configuración esencial antes de usar Git

Una vez que Git está instalado, el siguiente paso es configurar la información del usuario y la autenticación. Una configuración adecuada garantiza una interacción fluida con los repositorios remotos y con los flujos de trabajo en equipo.

Establecer nombre de usuario y correo en Git

Git registra quién realizó cada commit. Por lo tanto, debes configurar un nombre de usuario y una dirección de correo electrónico.

Comandos de configuración

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Estos valores no tienen que coincidir exactamente con tu cuenta de GitHub, pero usar el mismo correo que en GitHub ayuda a asociar los commits correctamente.

Verificar la configuración

git config --list

Este comando muestra la configuración actual de Git.

Generación y registro de claves SSH

Aunque HTTPS es compatible, la autenticación SSH elimina los prompts de contraseña repetidos y proporciona un flujo de trabajo más seguro y eficiente.

1. Generar una clave SSH

ssh-keygen -t ed25519 -C "you@example.com"

Presiona Enter varias veces para generar una clave privada (~/.ssh/id_ed25519) y una clave pública (~/.ssh/id_ed25519.pub).

2. Iniciar el agente SSH y agregar la clave

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

La clave SSH ya está lista para usar.

3. Agregar la clave pública a GitHub

Copia la clave pública:

cat ~/.ssh/id_ed25519.pub

Luego regístrala en GitHub:

  1. Inicia sesión en GitHub
  2. Haz clic en tu imagen de perfil → Configuración
  3. Selecciona “SSH and GPG keys”
  4. Haz clic en “New SSH key”, pega la clave y guarda

4. Probar la conexión SSH

ssh -T git@github.com

Escribe yes cuando se te solicite confiar en el host.

Si tiene éxito, verás:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

Pasos recomendados siguientes

Con esta configuración completa, ahora puedes clonar, enviar y extraer repositorios de GitHub. La siguiente sección explica cómo crear y operar repositorios de GitHub en la práctica.

4. Trabajando con repositorios de GitHub

Crear un nuevo repositorio en GitHub

Después de iniciar sesión en GitHub, comienza creando un nuevo repositorio.

Pasos (a través del navegador web)

  1. Haz clic en el botón “+” en la esquina superior derecha de la página principal de GitHub y selecciona “New repository”.
  2. Ingresa la siguiente información:
  • Nombre del repositorio : Ejemplo: my-first-repo
  • Descripción (opcional) : Una breve explicación
  • Público / Privado : Elige la visibilidad del repositorio
  1. Haz clic en “Create repository”.

Después de la creación, se mostrará la URL del repositorio. Usarás esta URL para clonar y gestionar el repositorio.

Clonar un repositorio existente de GitHub

Para copiar un repositorio a tu entorno local de Ubuntu, usa el comando git clone.

git clone git@github.com:your-username/my-first-repo.git

Este ejemplo usa SSH. Si usas HTTPS, la URL será diferente.

Después de la ejecución, se creará un directorio llamado my-first-repo que contiene los archivos del repositorio.

Cambios de archivos, staging y flujo de trabajo de commit

1. Agregar o editar archivos

Por ejemplo, crea un nuevo archivo:

echo "# My First GitHub Project" > README.md

2. Preparar los cambios

git add README.md

El staging selecciona qué cambios se incluirán en el próximo commit.

3. Confirmar los cambios

git commit -m "Initial commit: add README.md"

Tus cambios ahora están guardados en el historial del repositorio local.

Enviar cambios a GitHub

Para reflejar los cambios locales en el repositorio remoto de GitHub, usa git push.

git push origin main

Si tu rama predeterminada no es main (por ejemplo, master), ajusta el nombre de la rama en consecuencia.

Obtener cambios remotos al local

Si otro desarrollador ha realizado cambios, usa el siguiente comando para actualizar tu repositorio local:

git pull origin main

Esto fusiona los cambios remotos en tu rama local.

Operaciones adicionales comunes

  • Verificar repositorios remotos:
    git remote -v
    
  • Agregar otro repositorio de GitHub más tarde:
    git remote add origin git@github.com:your-username/another-repo.git
    
  • Editar README.md o .gitignore sigue el mismo flujo de trabajo.

5. Integración con Visual Studio Code

Por qué VS Code es ideal para operaciones Git

Al usar GitHub en Ubuntu, combinarlo con Visual Studio Code (VS Code) mejora significativamente la productividad. VS Code es un editor de código abierto desarrollado por Microsoft y es conocido por su excelente integración con Git. Permite commits, pushes y revisiones de diferencias mediante una GUI, lo que lo hace amigable para principiantes.

Instalar VS Code en Ubuntu

Puedes instalar VS Code fácilmente en Ubuntu siguiendo los pasos a continuación.

1. Agregar el repositorio de Microsoft

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

2. Registrar el repositorio

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

3. Instalar VS Code

sudo apt update
sudo apt install code

Después de la instalación, puedes iniciar VS Code escribiendo code en la terminal.

Soporte integrado de Git

VS Code incluye integración con Git por defecto, por lo que no se requieren complementos adicionales para operaciones básicas de Git. Para usos avanzados, se recomiendan las siguientes extensiones:

  • GitHub Pull Requests and Issues Permite gestionar Pull Requests e Issues mediante una interfaz gráfica.
  • GitLens Visualiza el historial línea por línea, mostrando quién cambió qué y cuándo.

Operaciones básicas de Git en VS Code

Abrir un repositorio

Navega a tu repositorio clonado y ejecuta:

code .

Revisar cambios y confirmar

  • Haz clic en el ícono de Control de código fuente en la barra lateral izquierda
  • Visualiza la lista de archivos modificados
  • Selecciona un archivo para ver los diffs
  • Ingresa un mensaje de confirmación y haz clic en el ícono ✓

Operaciones de push y pull

  • Selecciona “Push” o “Pull” del menú “…”
  • O usa la barra de estado en la esquina inferior derecha

Uso de la terminal integrada

La terminal integrada (Ctrl + `) permite cambiar sin problemas entre flujos de trabajo GUI y CLI. Por ejemplo, puedes confirmar mediante la GUI y gestionar ramas desde la terminal.

Consejos de solución de problemas

  • Si aparecen errores de SSH, verifica que VS Code haga referencia a la clave SSH correcta
  • Puede que necesites reconfigurar la autenticación o usar un Token de acceso personal de GitHub (PAT)

6. Solución de problemas común

Error de SSH: “Permission denied (publickey).”

Posibles causas

  • Las claves SSH no se generaron correctamente
  • La clave pública no está registrada en GitHub
  • El agente SSH no está cargando la clave

Soluciones

  1. Verifica si ya existe una clave SSH:
    ls ~/.ssh/id_ed25519.pub
    

Si no existe, genera una:

ssh-keygen -t ed25519 -C "your_email@example.com"
  1. Inicia el agente SSH y agrega la clave:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    
  1. Añade la clave pública a GitHub:
    cat ~/.ssh/id_ed25519.pub
    

Agrégala bajo “SSH and GPG keys” en GitHub.

  1. Prueba la conexión:
    ssh -T git@github.com
    

Error de autenticación con HTTPS

Causa

  • La autenticación con contraseña está obsoleta; se requiere autenticación basada en token

Solución

  1. Crea un Token de acceso personal en GitHub https://github.com/settings/tokens y marca el alcance repo al crear el token
  2. Usa tu nombre de usuario de GitHub y la cadena del token como contraseña
  3. Habilita el almacenamiento en caché de credenciales si lo deseas:
    git config --global credential.helper cache
    

Error: “fatal: not a git repository”

Causa

  • El directorio actual no es un repositorio Git

Solución

  • Cambia a un directorio que ya sea un repositorio existente:
    cd ~/your-project-directory
    
  • O inicializa un nuevo repositorio:
    git init
    

Manejo de conflictos de fusión

Causa

  • Los conflictos ocurren cuando varios usuarios editan simultáneamente la misma sección de un archivo

Solución

  1. Abre el archivo en conflicto después de un error de git pull
  2. Busca los marcadores de conflicto:
    <<<<<<< HEAD
    Your changes
    =======
    Other changes
    >>>>>>> origin/main
    
  1. Edita el contenido, elimina los marcadores y guarda
  2. Luego ejecuta:
    git add .
    git commit
    

Error: “remote: Repository not found.”

Causa

  • URL del repositorio incorrecta
  • No tienes permiso de acceso al repositorio

Solución

  • Verifica la URL remota:
    git remote -v
    
  • Restablece la URL si es necesario:
    git remote set-url origin git@github.com:your-username/your-repo.git
    

Estos problemas ocurren comúnmente en principiantes. Sin embargo, con causas claras y soluciones, se pueden resolver con calma. Trata los errores como oportunidades de aprendizaje y construye confianza gradualmente.

7. Preguntas frecuentes

P1. ¿Cuál es la diferencia entre Git y GitHub?

R:
Git es una herramienta de control de versiones que gestiona el historial de cambios localmente. GitHub es un servicio en la nube que aloja repositorios de Git y permite el intercambio y la colaboración.

  • Git: Gestión de historial local y sin conexión
  • GitHub: Alojamiento de repositorios en línea y colaboración

P2. ¿Debo usar SSH o HTTPS?

R:
Se recomienda SSH porque:

  • No se requiere ingresar la contraseña repetidamente
  • Más seguro y conveniente a largo plazo

Sin embargo, HTTPS puede ser requerido en ciertos entornos corporativos o de red.

P3. ¿Cómo puedo usar múltiples cuentas de GitHub en Ubuntu?

R:
Genera claves SSH separadas para cada cuenta y configúralas explícitamente.

  1. Crea claves SSH separadas Ejemplos: ~/.ssh/id_ed25519_work , ~/.ssh/id_ed25519_personal
  2. Edita ~/.ssh/config :
    Host github.com-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_work
    
    Host github.com-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_personal
    
  1. Actualiza la URL remota:
    git remote set-url origin git@github.com-work:your-work-user/your-repo.git
    

P4. ¿Puedo usar Git con una GUI?

R:
Sí. Visual Studio Code proporciona operaciones de Git basadas en GUI, incluyendo commits, pushes, diffs y gestión de ramas. Se recomienda altamente para principiantes.

P5. ¿Qué pasa si elimino el repositorio remoto?

R:
Eliminar un repositorio remoto no afecta al repositorio local. Sin embargo, git push fallará.

Puedes reconectarte a un nuevo remoto de la siguiente manera:

git remote set-url origin git@github.com:new-user/new-repo.git

P6. ¿Es posible evitar el terminal por completo?

R:
Sí. Los clientes de Git con GUI permiten flujos de trabajo sin terminal:

  • GitKraken
  • Sourcetree (no soportado oficialmente en Linux)
  • Visual Studio Code (soporte integrado para Git)

Para usuarios de Ubuntu, la combinación VS Code + GitLens es la más práctica y amigable para el usuario.

P7. ¿Hasta dónde atrás puede ir el historial de Git?

R:
Git preserva todo el historial desde el primer commit. Puedes verlo usando:

git log

Para ver el historial de un archivo específico:

git log path/to/file
年収訴求