Fundamentos de Git y control de versiones

1

¿Qué son Git y GitHub?

2

Configuración Inicial de Git: init y config

3

Comandos Básicos de Git: add, commit y log

4

Ramas y Fusión de Cambios: branch, merge, switch y checkout

5

Volviendo en el Tiempo en Git: reset y revert

6

Gestión de versiones: tag y checkout

7

Cómo Resolver Conflictos de Ramas en Git

8

Usando Git desde Visual Studio Code

Quiz: Fundamentos de Git y control de versiones

Introducción a GitHub

9

Por qué GitHub es clave para los Desarrolladores

10

Creación y configuración de cuenta de GitHub

11

¿Cómo integrar Git y GitHub en un flujo de trabajo profesional?

12

Gestión de Repositorios en GitHub

13

Productos de GitHub: precios, planes y apps

14

Cómo configurar SSH para GitHub: Guía paso a paso

15

Clone, fork y estrellas a repositorios

16

Trabajo con repositorios remotos: push, pull y fetch

17

Gestión de Issues y Discussions en GitHub

18

Colaboración sin errores: Pull Requests en GitHub

Quiz: Introducción a GitHub

Herramientas de colaboración en GitHub

19

Introducción a GitHub Projects

20

Automatización y Gestión de Proyectos en GitHub

21

Documentación en GitHub con Markdown

22

Personaliza tu Perfil de GitHub con Markdown

23

Uso de Wikis

24

Cómo usar GitHub Gist

25

Cómo usar GitHub Pages

Quiz: Herramientas de colaboración en GitHub

GitHub Codespaces

26

Cómo usar GitHub Codespaces: Configuración y Desarrollo en la Nube

27

Cómo configurar entornos de desarrollo avanzados en GitHub Codespaces

28

Pair Programming con Codespaces y Visual Studio Code

29

Cómo usar GitHub.dev Editor

Quiz: GitHub Codespaces

Seguridad y buenas prácticas en GitHub

30

Cómo Usar Tokens en GitHub para Acceso Seguro a Repositorios Privados

31

Gestión de Dependencias y Seguridad con Dependabot en GitHub

32

Mantenimiento de repositorios seguros

33

Gestión de datos sensibles y políticas de seguridad

Quiz: Seguridad y buenas prácticas en GitHub

Administración de GitHub

34

Administración de organizaciones en GitHub

35

Cómo personalizar tu perfil de GitHub con GitHub Actions

36

GitHub CLI para administración

Quiz: Administración de GitHub

Gestión de Cambios con Pull Requests

37

Importancia de los Pull Requests y Ramas en GitHub

38

Revisión y Fusión de Pull Requests

39

Git Rebase

Quiz: Gestión de Cambios con Pull Requests

GitHub Releases

40

Introducción a los GitHub Releases

41

Publicación de paquetes en GitHub y PyPI

Quiz: GitHub Releases

Cierre

42

ProTips: Mejora tu productividad diaria en GitHub

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Gestión de Dependencias y Seguridad con Dependabot en GitHub

31/42
Recursos

La gestión de dependencias es esencial para mantener la seguridad y estabilidad de las aplicaciones. Dependabot es una herramienta eficaz que, al integrarse en el flujo de trabajo, identifica y soluciona problemas en las versiones de paquetes de terceros, minimizando vulnerabilidades. Aquí exploramos cómo configurar y aprovechar al máximo Dependabot.

¿Por qué es importante mantener actualizados los paquetes de terceros?

Los paquetes de terceros son un recurso común en el desarrollo para simplificar tareas como la lectura de archivos JSON o la creación de APIs. Sin embargo, estas dependencias pueden convertirse en un riesgo si no se actualizan, ya que las versiones desactualizadas pueden contener vulnerabilidades que comprometan la seguridad de la aplicación.

¿Cómo activar Dependabot en un repositorio?

Para activar Dependabot:

  1. Accede a Settings o Security dentro del repositorio.
  2. Ve a Code Security and Analysis y selecciona la categoría de Dependabot.
  3. Activa las alertas de seguridad y actualizaciones de versión.
  4. Dependabot generará un archivo dependabot.yml, donde puedes ajustar la frecuencia de las revisiones, como cambiar de semanal a diaria para detectar actualizaciones con mayor regularidad.

¿Cómo utilizar Dependabot para gestionar versiones específicas?

En el caso de proyectos .NET, se pueden elegir versiones específicas de paquetes:

  1. Navega a la pestaña del paquete deseado (por ejemplo, Newtonsoft.Json).
  2. Escoge una versión con vulnerabilidades conocidas (como 12.0.3 en este ejemplo) para ver cómo Dependabot detecta y notifica el problema.
  3. Dependabot genera un pull request automáticamente para actualizar la versión del paquete y solucionar la vulnerabilidad detectada.

¿Qué sucede cuando Dependabot detecta una vulnerabilidad?

Cuando Dependabot encuentra una vulnerabilidad:

  • Notifica con prioridad la versión insegura del paquete.
  • Crea un pull request para actualizar el paquete a una versión segura.
  • Permite revisar y aceptar la actualización directamente desde la sección de Security o en Pull Requests.

Dependabot analiza la compatibilidad de versiones para asegurar que la actualización sea estable y, en algunos casos, puede incluso eliminar la rama creada una vez fusionada la actualización.

¿Por qué integrar Dependabot en el flujo de trabajo?

Dependabot simplifica la gestión de actualizaciones:

  • Detecta y repara vulnerabilidades sin intervención manual.
  • Mantiene el proyecto actualizado con las versiones estables más recientes de cada dependencia.
  • Agiliza la revisión y aplicación de actualizaciones, evitando que el equipo trabaje con versiones obsoletas.

Aportes 10

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hola Les comparto el vínculo al paquete Newtonsoft.Json, pues no se encuentra relacionado en los recursos de la clase <https://www.nuget.org/packages/newtonsoft.json/> ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-02-09%20a%20la%28s%29%206.13.13p.m.-9bf100e5-8d60-451a-91ef-04fc77f83569.jpg)
Parece que esta clase no quedó en la posición correcta, pues menciona que "ya vimos cómo evitar fugas de información gracias a Secret scanning" y la realidad es que no, la última clase según el orden que lleva el curso fue la 30. Cómo Usar Tokens en GitHub para Acceso Seguro a Repositorios Privados
Dependabot es una herramienta de GitHub que ayuda a mantener tu proyecto seguro y actualizado. Automáticamente revisa las dependencias de tu proyecto y te notifica sobre versiones obsoletas o vulnerabilidades en los paquetes que usas. Además, crea pull requests para actualizar esas dependencias, facilitando así la gestión de la seguridad y la integridad de tu código. Esto es crucial, ya que muchas aplicaciones dependen de paquetes de terceros, y mantenerlos actualizados es vital para evitar brechas de seguridad.
Si en su terminal les manda el error **Command 'dotnet' not found, but can be installed with:** Ejecuten los siguientes comandos: sudo apt-get update sudo apt-get install dotnet-sdk-8.0
Wow el Dependabot es una herramienta muy poderosa de seguridad, que nos ayuda a tener nuestro proyecto y dependencias actualizadas de manera automática.
muy útil la existencia de esta herramienta! Mantener el código seguro por muy poco esfuerzo es un increible tradeoff
# **🔒 Gestión de Dependencias y Seguridad con Dependabot en GitHub** **Dependabot** es una herramienta integrada en GitHub que ayuda a mantener actualizadas las dependencias de tu proyecto y a detectar vulnerabilidades de seguridad en paquetes desactualizados. ## **📌 1️⃣ ¿Qué es Dependabot y cómo funciona?** **Dependabot** automatiza la actualización de dependencias en proyectos gestionados con **npm, pip, Maven, Gradle, Composer, Cargo**, entre otros. 🛠️ **Funciones principales:** ✔ **Actualización automática de dependencias.** ✔ **Alertas de seguridad sobre paquetes vulnerables.** ✔ **Creación de Pull Requests para solucionar problemas detectados.** ## **🔄 2️⃣ Activar Dependabot en un Repositorio** 1️⃣ Ve a tu repositorio en GitHub. 2️⃣ Accede a **"Settings" → "Security & analysis"**. 3️⃣ Habilita **Dependabot alerts** y **Dependabot security updates**. ## **📥 3️⃣ Configurar Actualizaciones Automáticas de Dependencias** Para activar Dependabot en la actualización de paquetes, crea un archivo de configuración en `.github/dependabot.yml`: version: 2 updates: \- package-ecosystem: "npm" # Reemplázalo según tu gestor (pip, maven, etc.) directory: "/" # Ruta del archivo de dependencias schedule: interval: "daily" # Opciones: daily, weekly, monthly open-pull-requests-limit: 5 labels: \- "dependencies" ignore: \- dependency-name: "lodash" # Puedes excluir paquetes específicos 📌 **Personalización:** * `package-ecosystem`: Define el gestor de dependencias (npm, pip, composer, etc.). * `directory`: Ubicación del archivo de dependencias. * `schedule`: Frecuencia de actualización. * `ignore`: Evita actualizaciones de paquetes específicos. ## **⚠ 4️⃣ Seguridad: Alertas y Parches Automáticos** Cuando GitHub detecta una vulnerabilidad en una dependencia: 🔴 Se muestra una alerta en la pestaña **"Security" → "Dependabot alerts"**. 🟢 Dependabot puede generar automáticamente un **Pull Request** con una versión segura del paquete afectado. ## **🎯 Conclusión** ✅ **Mejora la seguridad** al detectar y corregir vulnerabilidades automáticamente. ✅ **Mantiene las dependencias actualizadas** con mínimo esfuerzo. ✅ **Facilita la gestión de proyectos** al automatizar actualizaciones en múltiples entornos.
Por aquí les dejo la ruta del paquete .NET: <https://www.nuget.org/packages/Newtonsoft.Json#readme-body-tab>
a alguien más le sale este error? después de hacer en la terminal: ```js dotnet add package Newtonsoft.Json --version 12.0.3" ``` The command could not be loaded, possibly because: ```txt The command could not be loaded, possibly because: * You intended to execute a .NET application: The application 'add' does not exist. * You intended to execute a .NET SDK command: No .NET SDKs were found. Download a .NET SDK: https://aka.ms/dotnet-download Learn about SDK resolution: https://aka.ms/dotnet/sdk-not-found ```intenté instalando: * .NET 9.0 SDK (v9.0.202) * ASP.NET Core Runtime 9.0.3 * NET Desktop Runtime 9.0.3 * [dotnet-sdk-8.0.407](https://download.visualstudio.microsoft.com/download/pr/5ba8123b-4806-4d1b-89f2-994904bd6335/b22190c9dcec3722bb366c2f1b8379a7/dotnet-sdk-8.0.407-win-x86.exe "dotnet-sdk-8.0.407-win-x86.exe") alguna recomendación ?
Hola! En que Clase vimos el tema de secret scanning? El profe lo da como si fuese un tema ya visto, pero la realidad es q no lo recuerdo.