🔧 Programmierung 🕛 kürzlich 16 Min Lesezeit
0

GitHub

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




¿Qué problema resuelve Git?



Imagina que tienes un archivo:

main.py

Hoy funciona.

Mañana haces cambios.

Pasado mañana algo deja de funcionar.

Sin Git:




  • No sabes qué cambió.

  • No sabes cuándo cambió.

  • No sabes quién lo cambió.

  • No puedes volver fácilmente atrás.
    Git resuelve eso. Piensa en Git como una máquina del tiempo para tu código.
    ---
    ## Conceptos fundamentales
    ### Repositorio
    Un repositorio es el proyecto completo.
    Ejemplo:
    repositorio_proyecto
    Contiene:



CODE
README.md
src/
test/
docs/
scripts/





Git almacena el historial de todos esos archivos.





Commit



Un commit es una fotografía del proyecto.

Ejemplo:




CODE
Commit #1
README creado





Luego:



CODE
Commit #2
Terraform inicial





Luego:



CODE
Commit #3
Bucket S3 agregado





Cada commit permite regresar a ese estado.

Piensa en ellos como puntos de guardado de un videojuego.





Branch



Una branch (rama) es una línea de trabajo independiente.

Ejemplo:

main

contiene v1 estable

Quieres agregar S3

Creas:

feature/s3-bucket

Trabajas ahí. Si algo sale mal:

main

permanece intacto.





¿Por qué no trabajar directamente sobre main?



Porque main debe ser siempre estable.

Regla profesional:

Nunca desarrollar directamente en main



CODE
## Flujo profesional
### main
Código estable.
### develop
Integración.
### feature/*
Desarrollo.





Visualmente:



CODE
main

└── develop

├── feature/s3

├── feature/budget

└── feature/iam









Crear SSH



¿Por qué?

Para evitar escribir usuario y contraseña constantemente.

Generar clave:



CODE
ssh-keygen -t ed25519 -C "[email protected]"





Resultado:



CODE
C:\Users\TuUsuario\.ssh\





Archivos:



CODE
id_ed25519
id_ed25519.pub





Nunca compartir id_ed25519

Sí compartir id_ed25519.pub





Agregar SSH a GitHub



Copiar:



CODE
type $env:USERPROFILE\.ssh\id_ed25519.pub







Ir a GitHub:



CODE
Settings

SSH and GPG Keys

New SSH Key





Pegar contenido.





Verificar conexión





CODE
ssh -T git@github.com





Respuesta esperada:



CODE
Hi usuario!
You've successfully authenticated.









Crear repositorio



En GitHub:



CODE
repositorio_proyecto







Opciones:

✔ Private

✔ README

✔ License





Clonar repositorio



Con GitHub Desktop:



CODE
File

Clone Repository





Seleccionar:



CODE
repositorio_proyecto





Ubicación:

C:\Projects

Resultado:

C:\Projects\repositorio_proyecto





Abrir en VS Code



Dentro del directorio:

code .





Crear rama develop



Primera vez:





git checkout -b develop



Subir:





git push -u origin develop



¿Por qué?

Porque main será producción.

develop será integración.





Subir cambios



git push





Pull Request



GitHub:



CODE
feature/feature-branch

develop





¿Por qué?

Permite revisar antes de integrar.





Merge



Cuando la revisión es aprobada:



CODE
feature/feature-branch

develop





Posteriormente:



CODE
develop

main









Branch Protection



Configurar en GitHub:



CODE
Settings

Branches

Add Rule





Para:

main

Activar:

✔ Require Pull Request

✔ Require Status Checks

✔ Require Branch Up To Date

¿Por qué?

Evita errores accidentales.





Flujo diario del proyecto



Cada vez que trabajes:



CODE
git checkout develop
git pull





Crear nueva rama:

git checkout -b feature/nombre

Trabajar.

Guardar:



CODE
git add .
git commit -m "feat: descripcion"







Subir git push



Crear Pull Request.

Integrar.

Eliminar rama.





Mentalidad correcta



No pienses:



CODE
Git guarda archivos





Piensa:



CODE
Git guarda historia





La historia del proyecto será tan valiosa como el código mismo porque permitirá entender:




  • ¿Qué se hizo?

  • ¿Cuándo se hizo?

  • ¿Por qué se hizo?

  • ¿Quién lo hizo?

  • Cómo volver atrás si algo falla.



Esa disciplina será especialmente importante.





Further Reading



Check out the other articles in this series:





  • GIT:








4 min read