Git · Sección 10

Remotos, autenticación y sincronización

Conectar remotos, distinguir fetch de pull, seguir ramas, publicar con push y configurar HTTPS, token o SSH sin exponer credenciales.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Stash, cherry-pick y rebase.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Remotos y tracking con fetch, pull y push y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Instala Git y utiliza Git Bash, PowerShell o una terminal Unix. Mantén un repositorio desechable para probar recuperación y conflictos.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Remotos y tracking y fetch, pull y push? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Conectarás un repositorio local con otros repositorios y separarás descarga, integración, publicación y autenticación.

Al terminar podrás
  • Un remoto es una URL asociada con referencias observables
  • Fetch descarga, pull descarga e integra, push publica
  • HTTPS y SSH autentican de maneras distintas
01
Nombrar otros repositorios

Un remoto es una URL asociada con referencias observables

git remote agrega nombres como origin o upstream. Fetch actualiza referencias remotas como origin/main sin modificar por sí solo tus archivos. Una rama de seguimiento relaciona la rama local con una rama remota para simplificar sincronización.

01

origin es una convención creada normalmente por clone.

02

remote -v muestra URL de lectura y escritura.

03

origin/main no es la misma referencia que main.

Comprueba lo aprendido · 01

¿git fetch modifica automáticamente tus archivos actuales?

Mostrar respuesta +

No. Descarga objetos y actualiza referencias remotas. Tú decides después si comparar, fusionar o rebasar.

02
Sincronizar

Fetch descarga, pull descarga e integra, push publica

Pull combina fetch con una estrategia de integración. --ff-only rechaza el pull si sería necesario crear una fusión, dejando la decisión visible. Push envía commits y actualiza una referencia remota si tienes permiso y no contradice su estado.

01

Haz fetch y revisa antes de integrar cambios inesperados.

02

Configura upstream con push -u la primera vez.

03

Un rechazo de push protege trabajo remoto que aún no tienes.

Comprueba lo aprendido · 02

¿Por qué no conviene resolver todo rechazo con force push?

Mostrar respuesta +

Porque podrías sobrescribir referencias y hacer inaccesible trabajo ajeno. El rechazo exige comprender primero la divergencia.

03
Demostrar identidad

HTTPS y SSH autentican de maneras distintas

GitHub permite trabajar por HTTPS o SSH. La contraseña normal de la cuenta no sirve para operaciones Git por HTTPS: se utiliza GitHub CLI, un token personal o un gestor de credenciales. SSH usa una pareja de claves y solo se comparte la pública.

01

Nunca pegues tokens o claves privadas en el repositorio.

02

Verifica el host antes de aceptar una clave SSH.

03

Entrega el permiso mínimo y rota credenciales expuestas.

Comprueba lo aprendido · 03

¿Qué archivo de una pareja SSH puede compartirse con GitHub?

Mostrar respuesta +

La clave pública. La clave privada debe permanecer protegida en tu equipo y nunca subirse al repositorio.

Resumen de la sección

Tu recorrido en tres ideas

  1. Un remoto es una URL asociada con referencias observables
  2. Fetch descarga, pull descarga e integra, push publica
  3. HTTPS y SSH autentican de maneras distintas
PROFUNDIZACIÓN / LABORATORIO GUIADO

Diagnostica un push rechazado sin forzar

Une referencias locales y remotas, divergencia, permisos y métodos actuales de autenticación.

CASO

Puedes clonar, pero push devuelve 403 o indica que la rama remota contiene trabajo que no tienes.

Procedimiento

  1. Clasifica si el error corresponde a URL, identidad, permiso, autenticación o divergencia.
  2. Inspecciona remoto y descarga referencias sin modificar el trabajo.
  3. Integra y prueba si existe divergencia, o configura el método de autenticación correcto si falta acceso.

Evidencia mínima

  • URL y rama destino sin credenciales.
  • Comparación main...origin/main.
  • Push final o explicación verificable del permiso que falta.
Mostrar razonamiento modelo +

Clonar no prueba permiso de escritura. Un 403 exige revisar cuenta y acceso; un non-fast-forward exige fetch, comparación e integración. Force push no corrige ninguna de esas causas.

Para ir más lejos

¿Qué cambia si origin es tu fork y upstream es el repositorio original?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Suponer que fetch modifica los archivos actuales.

ERROR 02

Pegar una contraseña, token o clave privada en comandos, archivos o mensajes.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Configura origin y upstream en un laboratorio, compara main con origin/main y documenta un método de autenticación seguro.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Distingue referencias locales y remotas.
  • Explica fetch, pull y push.
  • No expone credenciales y limita permisos.