GitHub y repositorios remotos
Cómo sincronizar tu repositorio local con GitHub, colaborar con otras personas mediante pull requests, iniciar sesión de forma segura y publicar un sitio a partir del repo.
Términos de esta página
- Remoto
- Otra copia del repositorio, guardada en un servidor (GitHub). Tu repo local puede tener varios; cada uno tiene un nombre y una URL.
- origin
- El nombre por defecto del remoto principal (el que se crea al clonar o con
git remote add origin). - origin/main
- Una copia de referencia, en tu PC, de cómo estaba
mainen GitHub la última vez que preguntaste. Se actualiza confetchopull. - fetch
- Descargar las novedades del remoto sin tocar tus archivos ni tus ramas.
- pull
fetch+ unir esas novedades a tu rama actual.- push
- Subir tus commits locales al remoto.
- Pull request (PR)
- En GitHub, un pedido para unir una rama a otra. Muestra los cambios, permite comentarlos y aprobarlos antes del merge.
- Fork
- Tu propia copia, en tu cuenta de GitHub, del repositorio de otra persona. Sirve para proponer cambios a proyectos en los que no tenés permiso de escritura.
- HTTPS / SSH
- Dos formas de conectarse a GitHub. HTTPS usa tu sesión (o un token); SSH usa un par de claves guardado en tu PC.
- Token (PAT)
- Personal Access Token: una contraseña especial, generada en GitHub, con permisos y vencimiento, que se usa en lugar de tu contraseña real.
Ver y configurar remotos
git remote -vorigin https://github.com/mataguirre7/docker-cheatsheet.git (fetch)
origin https://github.com/mataguirre7/docker-cheatsheet.git (push)
git remote add origin https://github.com/<usuario>/<repo>.gitorigin, da error: usá set-url.git remote set-url origin https://github.com/<usuario>/<nuevo-nombre>.gitgit remote rename origin github
git remote remove githubfetch, pull y push
Tu PC guarda una “foto” de cómo estaban las ramas de GitHub: origin/main. Esa foto no se actualiza sola: por eso git status puede decir “up to date” aunque alguien haya subido cambios. fetch actualiza la foto; pull además la une a tu rama; push manda tus commits para allá.
Traer cambios
git fetchgit status te dice si estás atrás (behind) o adelante (ahead).git log --oneline main..origin/maingit fetch, lista los commits que están en GitHub (origin/main) y todavía no en tu main: lo que vas a recibir con el próximo pull. Al revés (origin/main..main) muestra lo tuyo que falta subir.git pullfetch + merge). Hacelo al empezar a trabajar y antes de push. Si vos y otra persona cambiaron las mismas líneas, aparece un conflicto (ver Ramas).Subir cambios
git pushgit push -u origin mi-ramaSi el push es rechazado (“rejected… fetch first”), alguien subió commits que no tenés. Hacé git pull, resolvé conflictos si aparecen y volvé a hacer git push.
git push --force pisa lo que haya en GitHub y puede borrar trabajo ajeno. Si alguna vez lo necesitás (después de un rebase en tu propia rama), usá git push --force-with-lease, que se frena si hay algo que no viste.
Pull requests: revisar antes de unir
Un pull request (PR) no es un comando de Git: es una página de GitHub donde se proponen los cambios de una rama para unirlos a otra. Ahí se ven los diffs, se comenta línea por línea y se aprueba. Es la forma estándar de trabajar en equipo, y también sirve solo, para revisar tus propios cambios antes de llevarlos a main.
Crear un PR
- En tu PC:
git switch -c mejora-readme, hacé tus commits ygit push -u origin mejora-readme. - Entrá al repo en GitHub: aparece un aviso amarillo “mejora-readme had recent pushes” con el botón Compare & pull request.
- Revisá que diga
base: main←compare: mejora-readme. - Escribí un título y una descripción de qué cambia y por qué → Create pull request.
Revisar y unir
- Pestaña Files changed: los cambios línea por línea. Se puede comentar cada línea.
- Si hay que corregir algo, hacés más commits en la misma rama y
git push: el PR se actualiza solo. - Cuando está listo: Merge pull request → Confirm merge. GitHub ofrece borrar la rama: aceptá.
- En tu PC:
git switch main,git pull,git branch -d mejora-readme.
Si GitHub dice “This branch has conflicts”, resolvelos en tu PC: git switch mejora-readme, git merge main, resolvés, commit y push.
Contribuir a un repo ajeno (fork)
- En el repo de la otra persona, botón Fork: se crea una copia en tu cuenta (
github.com/<tu-usuario>/<repo>). - Cloná tu copia:
git clone https://github.com/<tu-usuario>/<repo>.git. - Agregá el original como segundo remoto, para traer sus novedades:
git remote add upstream https://github.com/<dueño>/<repo>.git. - Rama nueva, commits y
git push -u origin mi-cambio(a tu fork). - En GitHub, abrí el PR desde tu fork hacia el repo original.
- Para actualizar tu copia más adelante:
git fetch upstreamygit merge upstream/main.
Iniciar sesión en GitHub desde Git
GitHub no acepta tu contraseña de la web para git push. Hay tres formas válidas.
A. Navegador (lo más fácil)
Con Git para Windows viene el Git Credential Manager. En el primer push abre una ventana: Sign in with your browser → autorizás en GitHub → listo. Queda guardado en el Administrador de credenciales de Windows.
git config --global credential.helpermanager. Si no dice nada: git config --global credential.helper manager.B. Token personal (PAT)
- GitHub → tu foto → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
- Elegí vencimiento, los repos y el permiso Contents: Read and write.
- Copiá el token (se muestra una sola vez) y usalo como “contraseña” cuando Git la pida.
Tratalo como una contraseña: nunca lo pegues en un archivo del repo.
C. Clave SSH
ssh-keygen -t ed25519 -C "<tu-email>"~/.ssh/. Aceptá la ruta con Enter (podés ponerle una frase de seguridad).Get-Content ~/.ssh/id_ed25519.pubssh -T git@github.comgit@github.com:<usuario>/<repo>.git.Publicar un sitio en Netlify desde GitHub
Para sitios estáticos (HTML, CSS, JS), como estas cheatsheets.
Conectar una vez
- Subí el sitio a un repo de GitHub (pasos 6 y 7 de Primeros pasos).
- Entrá a
app.netlify.come iniciá sesión con tu cuenta de GitHub. - Add new site → Import an existing project → GitHub. La primera vez, autorizá a Netlify a ver tus repos (podés limitarlo a algunos).
- Elegí el repo. En Build command dejá vacío y en Publish directory poné
.(o lo que diga elnetlify.tomldel repo). - Deploy. En segundos te da una URL del tipo
https://nombre-al-azar.netlify.app; se puede cambiar en Site configuration → Change site name.
Después: publicar = hacer push
Netlify queda “mirando” la rama main. Cada vez que hacés git push a main (o se mergea un PR), vuelve a publicar el sitio solo.
git add .
git commit -m "Actualiza la hoja de comandos"
git pushLos PRs también generan un Deploy Preview: una URL temporal para ver el cambio antes de unirlo.
Archivos que todo repo debería tener
| Archivo | Para qué |
|---|---|
README.md | La portada del repo en GitHub: qué es el proyecto, cómo instalarlo y usarlo. Se escribe en Markdown (# títulos, - listas, ``` bloques de código). |
.gitignore | Qué no debe entrar en el repo (dependencias, secretos, archivos generados). |
LICENSE | Qué pueden hacer otros con tu código. Sin licencia, legalmente nadie puede reutilizarlo. GitHub tiene plantillas (MIT es la más simple). |
.gitattributes | Opcional: reglas por tipo de archivo, por ejemplo fines de línea (* text=auto). |
No encontré resultados.