Appearance
A6. GitHub
En esta actividad se utilizará GitHub para almacenar en un repositorio remoto la documentación que ya estamos gestionando mediante Git.
Partiremos del repositorio Git local creado en la actividad anterior:
text
usuario-sistemas/docsEl objetivo será conectar ambos repositorios:
text
Equipo local GitHub
┌─────────────────┐ ┌─────────────────┐
│ Repositorio Git │ ←─────→ │ Repositorio Git │
│ local │ │ remoto │
└─────────────────┘ └─────────────────┘1. Crear el repositorio remoto
Accede a GitHub y crea un nuevo repositorio para almacenar la documentación.
El repositorio deberá pertenecer a la organización:
text
iesgrao-daw1-si-2627y utilizará la nomenclatura:
text
usuario-docsdonde usuario corresponde al nombre utilizado en tu identidad digital.
Por ejemplo:
text
laumargar-docsEl repositorio será inicialmente:
text
PrivateRepositorio vacío
El repositorio local ya contiene archivos y commits.
Al crear el repositorio en GitHub, no inicialices el repositorio remoto añadiendo archivos adicionales como README.md, .gitignore o una licencia.
Realiza una captura del repositorio creado en GitHub.
2. Autenticación mediante SSH
Para trabajar con GitHub desde la terminal utilizaremos SSH.
La primera vez que utilices GitHub mediante SSH desde un equipo, deberás comprobar que dispones de una clave SSH y asociar su clave pública a tu cuenta de GitHub.
Comprobar las claves SSH
Comprueba si ya dispones de claves SSH:
bash
ls -la ~/.sshComprueba si existen archivos como:
text
id_ed25519
id_ed25519.pubSi ya dispones de estas claves y puedes utilizarlas, no es necesario generar unas nuevas.
Generar una clave SSH
Si no dispones de una clave SSH, genera una utilizando tu correo de la identidad digital:
bash
ssh-keygen -t ed25519 -C "usuario@alu.edu.gva.es"Pulsa Enter para aceptar la ubicación propuesta y deja vacía la frase de contraseña pulsando Enter cuando se solicite.
Frase de contraseña
Para simplificar el trabajo en el aula utilizaremos una clave sin frase de contraseña.
En otros entornos, especialmente en equipos personales o profesionales, es recomendable proteger la clave privada mediante una frase de contraseña.
Añadir la clave pública a GitHub
Muestra el contenido de la clave pública:
bash
cat ~/.ssh/id_ed25519.pubCopia su contenido y accede en GitHub a:
text
Settings → SSH and GPG keys → New SSH keyAñade la clave pública a tu cuenta.
Comprobar la conexión
Comprueba la conexión SSH con GitHub:
bash
ssh -T git@github.comLa primera vez que te conectes a un servidor SSH, puede ser necesario verificar su identidad y confirmar la conexión escribiendo:
text
yesAntes de aceptar, comprueba que la huella digital mostrada coincide con alguna de las publicadas en la documentación oficial de GitHub.
Si la configuración es correcta, GitHub mostrará un mensaje indicando que la autenticación se ha realizado correctamente.
Configurar el puerto 443
Atención
Esta configuración solo será necesaria si la conexión SSH con GitHub falla porque la red del centro bloquea el puerto 22.
Si la conexión anterior funciona correctamente, no es necesario realizar ninguna configuración adicional.
Si el puerto 22 está bloqueado, puedes utilizar SSH mediante el puerto 443.
Edita el archivo de configuración de SSH:
bash
nano ~/.ssh/configAñade:
text
Host github.com
Hostname ssh.github.com
Port 443
User gitGuarda los cambios y cierra el editor.
Comprueba nuevamente la conexión:
bash
ssh -T git@github.comDocumenta mediante capturas las principales etapas del proceso.
Clave privada
El archivo id_ed25519.pub contiene la clave pública y es el que debes añadir a GitHub.
El archivo id_ed25519 contiene la clave privada y nunca debe compartirse, publicarse, incluirse en la documentación ni subirse a GitHub.
Revisa las capturas antes de incorporarlas a la actividad.
3. Conectar los repositorios
Actualmente dispones de dos repositorios independientes:
text
Repositorio local Repositorio remoto
Git GitHubConecta el repositorio local con el repositorio que acabas de crear en GitHub.
Utiliza como nombre del repositorio remoto:
text
originComprueba posteriormente los repositorios remotos configurados.
Documenta:
- El comando utilizado para añadir el repositorio remoto.
- La dirección SSH utilizada.
- El resultado de comprobar los repositorios remotos configurados.
4. Primer push
Antes de enviar los commits a GitHub, comprueba cuál es la rama actual del repositorio.
Realiza el primer envío estableciendo la relación entre la rama local y la correspondiente rama remota.
Primer envío
Como el repositorio remoto se ha creado vacío, no es necesario ejecutar git fetch ni git pull antes del primer push.
Después accede al repositorio desde el navegador y comprueba que:
- Aparecen los archivos y directorios de la documentación.
- Aparecen los commits realizados anteriormente.
- La estructura coincide con la existente en el repositorio local.
Incluye capturas que permitan comprobar el resultado.
5. Realizar nuevos cambios
En este apartado utilizaremos dos copias locales del mismo repositorio para simular el trabajo desde equipos diferentes.
El objetivo será comprobar cómo podemos consultar los cambios existentes en el repositorio remoto antes de incorporarlos al repositorio local.
Clonar el repositorio en otro directorio
Sitúate fuera del repositorio actual y clona el repositorio de GitHub utilizando su dirección SSH.
Asigna a la nueva copia un nombre diferente, por ejemplo:
text
usuario-docs-copiaAhora dispondrás de dos repositorios locales conectados al mismo repositorio remoto:
text
Repositorio local original
↕
GitHub
↕
Repositorio local clonadoComprueba que la nueva copia contiene los mismos archivos y commits que el repositorio original.
Realizar cambios desde la copia
Accede al repositorio clonado y modifica alguno de los documentos Markdown.
A continuación:
- Comprueba los cambios realizados.
- Prepara los cambios.
- Crea un nuevo commit.
- Envía los commits a GitHub.
Comprueba desde GitHub que el nuevo commit aparece en el historial del repositorio.
Consultar los cambios remotos
Regresa al repositorio local original.
Comprueba primero su estado:
bash
git statusObtén la información más reciente del repositorio remoto:
bash
git fetchComprueba nuevamente el estado:
bash
git statusObserva si Git indica que la rama local está retrasada respecto a la remota.
Abre el repositorio en Visual Studio Code y utiliza Git Graph para:
- Localizar el nuevo commit realizado desde la otra copia.
- Comprobar su mensaje y los archivos modificados.
- Comparar los cambios con la versión local.
Consultar los cambios desde la terminal
También podemos utilizar comandos como:
bash
git log HEAD..origin/main --oneline
git diff HEAD origin/mainEn estos ejemplos se supone que la rama principal se llama main. Si utiliza otro nombre, deberás sustituirlo por el correspondiente.
Sin embargo, durante el módulo utilizaremos principalmente Visual Studio Code y Git Graph para consultar el historial y comparar cambios de forma gráfica.
Incorporar los cambios remotos
Una vez revisados los cambios, incorpóralos al repositorio local original:
bash
git pullComprueba que la modificación realizada desde la otra copia aparece ahora en el documento local.
Verifica también el estado del repositorio:
bash
git statusRealizar y enviar nuevos cambios
Realiza ahora una pequeña modificación en alguno de los documentos Markdown del repositorio local original.
A continuación:
- Comprueba los cambios realizados.
- Prepara los cambios.
- Crea un nuevo commit.
- Envía los commits al repositorio remoto.
Después del push, accede a GitHub y comprueba que el nuevo commit aparece en el historial del repositorio.
Documenta todo el proceso realizado mediante comandos, explicaciones y capturas.
Flujo habitual
A partir de este momento, este será el flujo habitual de trabajo:
text
git status
↓
git fetch
↓
git status
↓
Revisar cambios en VS Code
↓
git pull (si hay cambios pendientes)
↓
Modificar archivos
↓
git status
↓
git add
↓
git commit
↓
git pushAntes de comenzar a trabajar es recomendable comprobar si existen cambios remotos pendientes de incorporar y mantener el repositorio local sin modificaciones pendientes antes de ejecutar git pull.
6. Comprobar el historial
Accede desde GitHub al historial de commits del repositorio.
Localiza alguno de los commits realizados durante las actividades anteriores y consulta sus detalles.
Comprueba:
- El mensaje del commit.
- Cuándo se realizó.
- Los archivos modificados.
- Los cambios realizados.
Consulta también el historial desde Visual Studio Code utilizando Git Graph.
Incluye capturas de la información consultada.
Documentación de la actividad
Documenta todo el proceso realizado en el archivo correspondiente a esta actividad.
Incluye:
- Los comandos utilizados.
- Una breve explicación de las operaciones realizadas.
- Capturas de pantalla que permitan comprobar el proceso.
- Los errores encontrados y cómo los has solucionado, cuando corresponda.
Las capturas realizadas en GitHub deben mostrar únicamente la información necesaria para documentar cada operación.
Referencias
Añade las fuentes utilizadas para realizar la actividad.
Utiliza preferentemente la documentación oficial: