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

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
4 Hrs
58 Min
59 Seg

Gestión de Issues y Discussions en GitHub

17/42
Resources

Using GitHub Issues allows you to manage and document issues in a repository, from simple bugs in wording to complex defects in functionality. With an intuitive interface, it allows any user to point out and describe areas for improvement, and with Issues templates, it improves clarity and collaboration in the process.

What is an Issue on GitHub?

An Issue is a way to flag issues or suggestions within a repository. It can be used to:

  • Report errors in documentation, such as misspellings.
  • Report problems in the expected performance of the code.
  • Report improvements or necessary changes.

Issues allow two-way communication between contributors and the repository creator, which facilitates problem resolution.

How to create a new Issue?

  1. In the GitHub repository, select the Issues tab.
  2. Click New Issue and describe the issue in two main fields:
    • Title: A brief description.
    • Description: Details of the issue, steps to reproduce it, etc.

It is possible to add additional elements, such as assigning the Issue to someone else or tagging it.

How to create an Issues template?

To make the process easier for other contributors, it is useful to create Issue templates. To do this:

  1. From the repository, open Visual Studio Code with the code .. command.
  2. Create a folder called .github and inside another folder called ISSUE_TEMPLATE.
  3. Inside ISSUE_TEMPLATE, create a Markdown file (for example, bug_report.md).
  4. Copy the structure of the template, which usually includes sections such as description, steps to reproduce the bug, and additional details.

With this template, contributors will have a standard format for reporting issues, which helps with better management and resolution.

How to sync changes to GitHub?

  1. Once the template is created, verify that the changed files are marked in green in Visual Studio Code.
  2. Perform a commit (for example, "Bug Report added").
  3. Synchronize with the GitHub repository using the up arrow button (push).
  4. In GitHub, verify that the template is available in the Issues section.

What are the advantages of an Issues template?

Templates simplify the process of documenting issues and improve communication by standardizing the information requested from contributors. This helps to identify issues accurately and quickly.

How to customize the Issues templates for specific cases?

In addition to the basic bug template, you can create custom templates such as:

  • Document Report: To point out errors in the documentation.
  • Best Practices: To suggest improvements in the code structure.

These templates allow contributors to choose the type of Issue that best suits the problem and streamline repository management.

Contributions 14

Questions 1

Sort by:

Want to see more contributions, questions and answers from the community?

Creo que el archivo de bug\_report.md no fue colocado en los recursos, pero aquí dejo una témplate: \--- name: "🐛 Bug Report" about: "Reportar un error para ayudarnos a mejorar el proyecto." title: "\[BUG] - Descripción corta del error" labels: bug assignees: "" \--- \## 🐛 Bug Report \### Descripción Describe claramente el error que has encontrado. Incluye detalles sobre cómo se presenta el problema. \### Pasos para reproducir 1\. Ir a '...' 2\. Hacer clic en '...' 3\. Describir cualquier otra acción hasta que ocurra el problema. 4\. Error que aparece: '...' \### Comportamiento esperado Describe lo que esperabas que ocurriera al realizar los pasos anteriores. \### Capturas de pantalla o registros Si es posible, añade capturas de pantalla o registros de errores. \### Entorno \- Sistema operativo: \[p. ej., Windows 10, macOS Catalina] \- Navegador y versión: \[p. ej., Chrome 87, Safari 14] \- Versión del proyecto: \[p. ej., 1.0.0] \### Información adicional Cualquier otra información relevante.
Hola Les comparto el contenido del bug\_report.md, el cual efectivamente no se encuentra en los recursos de la clase, pero que haciendo uso de capturas de pantalla y apoyada en ChatGPT fue posible obtener. ```txt --- name: Bug report about: Crea un reporte de error para ayudarnos a mejorar title: "[BUG] Descripción breve" labels: bug assignees: '' --- **Describe el error** Una descripción clara y concisa del error. **Reproducir** Pasos para reproducir el comportamiento: 1. Ir a '...' 2. Hacer clic en '...' 3. Desplazarse hacia '...' 4. Ver error **Comportamiento esperado** Una descripción clara y concisa de lo que esperabas que sucediera. **Capturas de pantalla** Si es posible, añade capturas de pantalla para ayudar a explicar el problema. **Entorno (por favor completa la siguiente información):** - Sistema operativo: [e.g. Windows, macOS] - Navegador: [e.g. Chrome, Safari] - Versión del software: [e.g. 22] **Información adicional** Añade cualquier otro contexto sobre el problema aquí. ```
No hace falta aprender la configuración o el directorio para crear estas plantillas, podemos hacerlo usando la UI de GitHub. De hecho, podemos también definir plantillas para otro tipo de "issues" como los Pull Requests. Para ello, primero debemos ir al apartado de settings. ![](https://static.platzi.com/media/user_upload/image-b384692b-f70c-4880-ae22-7f5e30eced82.jpg) Hacemos scroll, hasta encontrar la sección "Features" y allí buscamos el item "Issues", hacemos clic en "Set up templates" ![](https://static.platzi.com/media/user_upload/image-2bd88d10-be1b-4e96-b52e-525012309a43.jpg) Desde esta ventana podremos crear y modificar facilmente las plantillas que necesitemos, al finalizar los ajustes haremos clic en "Propose changes", y GitHub se encargara de crear los archivos por nosotros. ![](https://static.platzi.com/media/user_upload/image-28857108-2b4f-4dfd-8dfa-5343c1559c84.jpg)
Falta el archivo template bug\_report en recursos
Segui todos los pasos pero por alguna razón la plantilla de bug que hice en VS Code, se envió la información a git hub pero al crear el issue no me muestra la plantilla?? cree la carpeta con la extension mencionada y lo sincronice en escode
Alguien sabe por que no me saldrá el botón de issues en el repositorio al que le hice fork a mi GitHub? Sin embargo en un repo que hice yo si esta dicho boton.
**Gestión de Issues y Discussions en GitHub** 🔹 **Issues**: Son ideales para reportar errores, sugerir mejoras o discutir nuevas características. Puedes asignarlos, etiquetarlos y referenciarlos en commits. 🔹 **Discussions**: Son espacios más abiertos para hablar sobre ideas, preguntas o debates sin necesidad de crear un issue. ✅ **Tip**: Usa palabras clave como "Fixes #123" en tus commits para cerrar issues automáticamente. ¿Cómo utilizas Issues y Discussions en tus proyectos? 💡
**Clase 17 - Gestión de Issues y Discussions en GitHub** * **¿Qué es un Issue?** * Es un ticket de seguimiento que permite rastrear tareas, errores y solicitudes dentro de un repositorio en GitHub. * **¿Quiénes son normalmente los que pueden crear Issues dentro de un repositorio en GitHub?** * Aunque es una función que cualquier usuario puede usar, lo más normal es que estos los hagan personas que pertenecen al equipo de trabajo. Es raro que cuando una sola persona trabaja en un proyecto de manera individual sea el mismo el que cree un Issue. * **¿Cómo se crea un Issue dentro de GitHub?** * Dentro de la interfaz del repositorio en GitHub, en la parte superior vemos un menú que tiene varias opciones y debemos buscar la opción que dice “Issues” y dar click sobre ella. * En esta nueva ventana debemos buscar y dar click sobre un botón que dice “New Issue”. * En este instante debemos de estar en una nueva pantalla que contiene un formulario. Este formulario tiene dos campos importantes, Add Title que nos sirve para agregar un título al Issue que queremos crear y otro campo que dice Add a description en donde podemos escribir de manera detallada el contexto del Issue. * Cuando hayamos terminado de llenar el formulario damos click en el botón que se encuentra al final del formulario que dice “Submit new issue” para terminar con la creación del Issue. * **¿Qué opciones extra podemos hacer dentro de la pantalla de creación de un Issue en GitHub?** * Podemos asignar que el Issue lo revise y resuelva alguien del equipo concretamente. * Agregar etiquetas para diferenciar el Issue de otros. * Agregar el Issue a un proyecto. * **¿Cuáles son los elementos más importantes que debemos de diligenciar a la hora de crear un Issue?** * Llenar el formulario. * **¿Cómo sabemos que tenemos un Issue en un repositorio dentro de GitHub?** * Dentro de la interfaz del repositorio en el mismo menú y opción que tenemos para crear un Issue vemos que aparece un número indicando la existencia de este. * **¿Qué podemos hacer para ayudar a las personas que quieran reportar un Issue y ayudar a mejorar un repositorio?** * Crear una plantilla.
Aquí he generado las plantillas que el profesor ha sugerido para la clase, a quien pueda servir las comparto: ```txt # Mejores Prácticas de Programación ## Directrices Generales - Escribe código limpio y legible. - Sigue una convención de nombres consistente. - Mantén las funciones y métodos cortos y enfocados. - Escribe comentarios y documentación significativos. ## Estructura del Código - Usa una indentación y formato adecuados. - Organiza archivos y directorios de manera lógica. - Sigue el principio DRY (No te repitas). ## Control de Versiones - Usa Git para el control de versiones. - Realiza commits frecuentes con mensajes significativos. - Sigue una estrategia de ramas (por ejemplo, Git Flow). ## Manejo de Errores - Usa bloques try/catch para código propenso a errores. - Registra los errores para depuración y monitoreo. - Valida la entrada del usuario para prevenir vulnerabilidades de seguridad. ## Optimización de Rendimiento - Evita cálculos innecesarios en los bucles. - Utiliza estructuras de datos y algoritmos eficientes. - Optimiza las consultas a la base de datos. ## Mejores Prácticas de Seguridad - Usa variables de entorno para información sensible. - Saneamiento de entrada del usuario para prevenir inyecciones SQL y XSS. - Mantén las dependencias actualizadas para evitar vulnerabilidades. ## Pruebas - Escribe pruebas unitarias e integradas. - Usa marcos de pruebas automatizadas. - Asegura cobertura de pruebas en rutas críticas del código. ## Documentación - Mantén actualizado el archivo README. - Documenta las APIs con herramientas como Swagger o Postman. - Proporciona comentarios en línea cuando sea necesario. ## Revisión de Código - Revisa el código antes de fusionarlo con la rama principal. - Proporciona retroalimentación constructiva en las revisiones de código. - Sigue estándares y mejores prácticas de codificación. ```# Mejores Prácticas de Programación \## Directrices Generales \- Escribe código limpio y legible. \- Sigue una convención de nombres consistente. \- Mantén las funciones y métodos cortos y enfocados. \- Escribe comentarios y documentación significativos. \## Estructura del Código \- Usa una indentación y formato adecuados. \- Organiza archivos y directorios de manera lógica. \- Sigue el principio DRY (No te repitas). \## Control de Versiones \- Usa Git para el control de versiones. \- Realiza commits frecuentes con mensajes significativos. \- Sigue una estrategia de ramas (por ejemplo, Git Flow). \## Manejo de Errores \- Usa bloques try/catch para código propenso a errores. \- Registra los errores para depuración y monitoreo. \- Valida la entrada del usuario para prevenir vulnerabilidades de seguridad. \## Optimización de Rendimiento \- Evita cálculos innecesarios en los bucles. \- Utiliza estructuras de datos y algoritmos eficientes. \- Optimiza las consultas a la base de datos. \## Mejores Prácticas de Seguridad \- Usa variables de entorno para información sensible. \- Saneamiento de entrada del usuario para prevenir inyecciones SQL y XSS. \- Mantén las dependencias actualizadas para evitar vulnerabilidades. \## Pruebas \- Escribe pruebas unitarias e integradas. \- Usa marcos de pruebas automatizadas. \- Asegura cobertura de pruebas en rutas críticas del código. \## Documentación \- Mantén actualizado el archivo README. \- Documenta las APIs con herramientas como Swagger o Postman. \- Proporciona comentarios en línea cuando sea necesario. \## Revisión de Código \- Revisa el código antes de fusionarlo con la rama principal. \- Proporciona retroalimentación constructiva en las revisiones de código. \- Sigue estándares y mejores prácticas de codificación.
Hola, seguí todos los pasos pero por alguna razón no se muestra la plantilla en el apartado de issues, alguien sabe por qué? Gracias![](https://static.platzi.com/media/user_upload/image-db869874-cdd5-4350-ba34-7327b434010f.jpg)![](https://static.platzi.com/media/user_upload/image-b5e0e5b9-b396-4704-8394-c599cd78c686.jpg)![](https://static.platzi.com/media/user_upload/image-6420ba7e-5c08-432f-90a1-5a6817d5f757.jpg)
El parámetro `-u` en el comando `git push` se utiliza para establecer una relación de seguimiento entre la rama local y la rama remota. Esto significa que, al usar `git push -u`, le indicas a Git que la rama local debe estar vinculada a la rama remota. De esta forma, en futuros `git push` o `git pull`, puedes omitir el nombre de la rama remota, ya que Git sabrá automáticamente a cuál se refiere. Esto simplifica el flujo de trabajo al trabajar con ramas remotas en Git.
Este fue el formato que me aceptó para cargar la plantilla al 01 de diciembre de 2024 ```js --- name: "🐛 Bug Report" about: "Reportar un error para ayudarnos a mejorar el proyecto." title: "[BUG] - Descripción corta del error" labels: - bug assignees: [] --- ## 🐛 Bug Report ### Descripción Describe claramente el error que has encontrado. Incluye detalles sobre cómo se presenta el problema. ### Pasos para reproducir 1. Ir a '...' 2. Hacer clic en '...' 3. Describir cualquier otra acción hasta que ocurra el problema. 4. Error que aparece: '...' ### Comportamiento esperado Describe lo que esperabas que ocurriera al realizar los pasos anteriores. ### Capturas de pantalla o registros Si es posible, añade capturas de pantalla o registros de errores. ### Entorno - Sistema operativo: [p. ej., Windows 10, macOS Catalina] - Navegador y versión: [p. ej., Chrome 87, Safari 14] - Versión del proyecto: [p. ej., 1.0.0] ### Información adicional Cualquier otra información relevante. ```
La gestión de **Issues** en GitHub permite a los colaboradores reportar errores, sugerir mejoras o discutir problemas dentro de un repositorio. Un **issue** ofrece un título y una descripción donde se puede detallar el problema o la propuesta. Además, es posible asignar tareas, agregar etiquetas o mencionar a otros usuarios para facilitar el seguimiento. Por otro lado, las **Discussions** son útiles para intercambiar ideas y tener conversaciones más extensas sobre aspectos que no necesariamente son bugs o tareas. Ambos son fundamentales para fomentar la colaboración en proyectos de software en GitHub, permitiendo mejorar la calidad del código y la documentación.
*"Los Issues nos permiten resaltar los detalles que deben mejorarse de nuestros repositorios"*