2  Git y GitHub

1️⃣ Subir cambios a GitHub

Pasos básicos: git add ., commit y push

Cuando realizas cambios en tu código, debes seguir estos pasos:

  1. Agregar todos los archivos modificados al área de preparación:

    git add .

    Esto agrega todos los archivos nuevos o modificados al seguimiento de Git.

  2. Crear un commit con un mensaje descriptivo:

    git commit -m "Mensaje que describe los cambios"

    El commit guarda los cambios localmente en tu historial de Git.

  3. Subir los cambios a GitHub (repositorio remoto):

    git push origin main

    Esto sube los cambios a la rama main en GitHub.


2️⃣ Crear una rama y trabajar en ella

Cuando quieres agregar una nueva funcionalidad sin afectar main, creas una rama:

  1. Crear y cambiar a una nueva rama:

    git checkout -b feature-nueva

    O usando el comando más moderno:

    git switch -c feature-nueva

    Ahora estás en la nueva rama feature-nueva.

  2. Hacer cambios en los archivos, luego guardarlos con un commit:

    git add .
    git commit -m "Añadida nueva funcionalidad en feature-nueva"
  3. Subir la rama a GitHub:

    git push origin feature-nueva

3️⃣ Fusionar la rama con main y subir los cambios

Una vez que terminaste los cambios en feature-nueva, necesitas integrarlos en main.

  1. Cambiar a la rama main:

    git checkout main
  2. Traer los últimos cambios de GitHub (opcional pero recomendado):

    git pull origin main
  3. Fusionar feature-nueva en main:

    git merge feature-nueva
  4. Subir los cambios a GitHub:

    git push origin main

✅ ¡Listo! Ahora main tiene los cambios de feature-nueva y puedes seguir trabajando. 🚀

📌 Tarea 002: Explorando ramas en Git y GitHub con Python

Objetivo

El objetivo de este ejercicio es que practiques el uso de Git y GitHub mientras desarrollas un pequeño proyecto en Python. Vas a crear un repositorio, hacer commits, trabajar con ramas y fusionar cambios.


📝 Instrucciones

1️⃣ Crear el repositorio en GitHub y clonarlo

  1. Ve a GitHub y crea un nuevo repositorio llamado proyecto_python_git.

    • Asegúrate de incluir un archivo README.md y ponerle una descripción.
  2. Copia el enlace del repositorio (HTTPS).

  3. Abre una terminal de git en tu computadora y clona el repositorio:

    git clone <URL_DEL_REPOSITORIO>
  4. Entra a la carpeta del repositoriov y lanza VSCode:

    cd proyecto_python_git
    code .

2️⃣ Crear una estructura básica del proyecto

  1. Dentro de la carpeta del repositorio, crea los siguientes archivos:

    • main.py (archivo principal del programa).
    • utils.py (archivo con funciones auxiliares).
    • README.md (archivo de documentación, ya debería existir).
  2. Abre main.py y escribe este código inicial:

    from utils import saludar
    
    if __name__ == "__main__":
        print(saludar("Mundo"))
  3. Abre utils.py y escribe:

    def saludar(nombre):
        return f"¡Hola, {nombre}!"

3️⃣ Hacer los primeros commits en la rama main

  1. Añade los archivos al control de versiones:

    git add .
  2. Crea el primer commit:

    git commit -m "Estructura inicial del proyecto con main.py y utils.py"
  3. Sube los cambios al repositorio remoto:

    git push 

4️⃣ Crear una nueva rama y hacer cambios

  1. Crea una nueva rama llamada feature-suma:

    git checkout -b feature-suma
  2. Modifica utils.py agregando una función para sumar dos números:

    def saludar(nombre):
        return f"¡Hola, {nombre}!"
    
    def suma(a, b):
        return a + b
  3. Modifica main.py para usar la nueva función:

    from utils import saludar, suma
    
    if __name__ == "__main__":
        print(saludar("Mundo"))
        print(f"2 + 3 = {suma(2, 3)}")
  4. Guarda los cambios, agrégalos y haz un commit:

    git add .
    git commit -m "Añadida función suma en utils.py y llamada en main.py"
  5. Sube la rama al repositorio remoto:

    git push origin feature-suma

5️⃣ Crear una nueva rama desde feature-suma

  1. Desde la rama feature-suma, crea una nueva rama llamada feature-resta:

    git checkout -b feature-resta
  2. Modifica utils.py agregando una función para restar dos números:

    def saludar(nombre):
        return f"¡Hola, {nombre}!"
    
    def suma(a, b):
        return a + b
    
    def resta(a, b):
        return a - b
  3. Modifica main.py para usar la nueva función:

    from utils import saludar, suma, resta
    
    if __name__ == "__main__":
        print(saludar("Mundo"))
        print(f"2 + 3 = {suma(2, 3)}")
        print(f"5 - 3 = {resta(5, 3)}")
  4. Guarda los cambios, agrégalos y haz un commit:

    git add .
    git commit -m "Añadida función resta en utils.py y llamada en main.py"
  5. Sube la rama al repositorio remoto:

    git push origin feature-resta

6️⃣ Fusionar feature-resta en feature-suma

  1. Vuelve a la rama feature-suma:

    git checkout feature-suma
  2. Fusiona la rama feature-resta en feature-suma:

    git merge feature-resta
  3. Sube los cambios a GitHub:

    git push origin feature-suma

8 📢 Agrega al profe

Solo eso, agrega a AltamarMx a tu repo para poder revisar la tarea y sube la liga al repo a Classroom para poder revisarlo.


📢 Resultado final

Al final del ejercicio, deberías haber logrado:
✅ Crear un repositorio en GitHub y clonarlo.
✅ Hacer commits en la rama main.
✅ Crear una rama feature-suma y hacer cambios.
✅ Crear otra rama feature-resta desde feature-suma y hacer más cambios.
✅ Fusionar feature-resta en feature-suma.
✅ Fusionar feature-suma en main.

En GitHub, si vas a la pestaña Branches, deberías ver tus ramas creadas. Y en Commits, deberías ver un historial con todos los cambios.


🛠 Extra (Opcional)

Si quieren practicar más, pueden:
🔹 Crear más ramas para nuevas funciones (multiplicación, división, etc.).
🔹 Resolver conflictos si los hay (Git les avisará si existen).
🔹 Hacer un Pull Request en GitHub en lugar de hacer merge en la terminal.