Alfredo Olmedo
Dejo una pagina para la creacion de templates de gitignore:
Ignacio Robles
¡Que buen recurso! gracias Alredo
José Rodríguez
Alfred is CHAD
Proteger tu código en GitHub empieza por dos decisiones simples: hacer privados los repositorios sensibles y configurar un archivo .gitignore que evite subir información que no debería salir de tu máquina. Aquí verás cómo aplicar ambas prácticas paso a paso, con ejemplos reales en Visual Studio Code y .NET.
¿Cómo cambiar un repositorio público a privado en GitHub?
Los repositorios públicos en GitHub son ideales para mostrar tu trabajo al mundo, pero cuando colaboras con un equipo cerrado o manejas código sensible, lo correcto es restringir el acceso.
Para cambiar la visibilidad de un repositorio existente, sigue esta ruta dentro de GitHub:
Una vez aplicado, verás un pequeño candado junto al nombre del repositorio y la etiqueta Private a la derecha. Eso significa que nadie fuera de tu equipo podrá acceder al código.
¿Qué pasa con las estrellas y watchers al hacer privado un repositorio? Se pierden. GitHub te avisa durante el proceso, así que si tu repo ya tenía visibilidad pública con seguidores, esos contadores vuelven a cero al cambiar la visibilidad [03:15].
¿Para qué sirve el archivo .gitignore en un proyecto?
El archivo .gitignore es una lista de patrones que indica a Git qué archivos o carpetas no deben subirse al repositorio. Funciona como un filtro preventivo: todo lo que coincida con esos patrones queda fuera del commit y del push.
¿Por qué es tan útil? Porque cada lenguaje y framework genera archivos que no aportan al código fuente. En proyectos de .NET aparecen las carpetas bin y obj, en Node está node_modules, en Python hay archivos de caché, y así con cada tecnología. Subir todo eso ensucia el repositorio y puede romper builds en otras máquinas.
¿Cómo crear y usar un .gitignore desde Visual Studio Code?
El flujo dentro de VS Code arranca sincronizando la rama principal antes de tocar archivos. En la terminal escribe git branch para confirmar dónde estás, luego git switch main y finalmente git pull para traer los últimos cambios [05:00].
Una vez sincronizado, crea en la raíz del proyecto un archivo llamado .gitignore. Dentro puedes escribir patrones como:
*.sln para excluir archivos de solución generados automáticamente./bin para ignorar la carpeta de binarios./obj para evitar archivos intermedios de compilación.appsettings.json para no exponer cadenas de conexión.Cuando un archivo coincide con un patrón, VS Code lo muestra opacado en el explorador. Esa señal visual te confirma que ya no será incluido en el siguiente commit.
¿Existe una colección oficial de .gitignore por lenguaje?
Sí. GitHub mantiene un repositorio público llamado github/gitignore con plantillas listas para casi cualquier tecnología: Node, Python, Java, Go, Rust, Visual Studio y muchas más.
¿Dónde encuentro plantillas de .gitignore? En el repositorio
github/gitignore. Buscas el archivo de tu stack (por ejemploVisualStudio.gitignoreoNode.gitignore), abres la vista Raw, copias el contenido y lo pegas en tu propio.gitignore.
Dentro de la plantilla de Visual Studio, por ejemplo, en la línea 30 ya viene incluida la carpeta Bin con mayúscula y minúscula, y lo mismo aplica para obj. Eso te ahorra tener que recordar cada ruta específica del lenguaje [10:30].
¿Por qué nunca debes subir appsettings.json o archivos .env al repositorio?
Los archivos de configuración como appsettings.json en .NET o .env en Node y Python guardan credenciales, llaves de API y cadenas de conexión a bases de datos. Si suben al repositorio, cualquiera con acceso al código puede ver esa información sensible.
La práctica correcta es agregar estos archivos al .gitignore con un comentario claro, por ejemplo:
Elimina este archivo de configuración
appsettings.json
Así, aunque exista localmente y tu aplicación lo use para conectarse a una base de datos, nunca viajará al repositorio remoto.
¿Cómo verificar que los archivos quedaron excluidos antes del push?
Antes de subir cambios, ejecuta git status en la terminal. Ese comando lista todo lo que será incluido en el próximo commit. Si ves ahí archivos que no deberían subirse, ajusta el .gitignore antes de continuar.
El flujo seguro queda así:
git status para revisar qué se va a subir.git add . para preparar los cambios válidos.git commit -m "Nuevo gitignore creado" para registrar el cambio.git push para enviarlo al repositorio remoto.Al refrescar el repositorio en GitHub, confirmarás que las carpetas bin, obj y el archivo appsettings.json ya no aparecen [14:20].
¿Cuál es la mejor forma de configurar .gitignore al crear un repositorio?
La opción más limpia es hacerlo desde el inicio. Cuando creas un nuevo repositorio en GitHub, antes de presionar Create repository tienes tres acciones clave:
Hacerlo así evita el trabajo manual posterior de borrar carpetas, copiar plantillas y limpiar archivos que no debieron subirse nunca. ¿Tú ya configuraste tu .gitignore en tus proyectos actuales? Cuéntame en los comentarios qué tecnologías usas y qué patrones siempre incluyes.
Alfredo Olmedo
Dejo una pagina para la creacion de templates de gitignore:
Ignacio Robles
¡Que buen recurso! gracias Alredo
José Rodríguez
Alfred is CHAD
🔐 Mantenimiento de Repositorios Seguros en GitHub
Mantener un repositorio seguro en GitHub es fundamental para proteger el código y la información sensible de un proyecto. A continuación, te presento buenas prácticas y herramientas que te ayudarán a garantizar la seguridad en tus repositorios.
1️⃣ Configuración de Seguridad en GitHub
📌 Habilita la autenticación en dos pasos (2FA)
📌 Usa claves SSH o Tokens de Acceso Personal (PAT)
2️⃣ Control de Accesos y Permisos
👥 Configura los roles de los colaboradores
🔒 Restringe los cambios en ramas protegidas
3️⃣ Protección contra Vulnerabilidades
⚠ Habilita Dependabot para actualizar dependencias
.github/dependabot.yml para actualizaciones automáticas.🔎 Habilita el análisis de código y escaneo de secretos
4️⃣ Buenas Prácticas para la Seguridad del Código
🚫 Evita subir archivos sensibles
.gitignore para excluir archivos como:.env
config/secrets.yml
node_modules/🔑 Usa variables de entorno en lugar de credenciales en código
.env y usa dotenv en tu código.📜 Firma tus commits para mayor autenticidad
5️⃣ Monitoreo y Auditoría
📊 Revisa el historial de seguridad en GitHub
🛠 Automatiza revisiones de seguridad con GitHub Actions
merge.🎯 Conclusión
✅ Usa autenticación segura con 2FA y claves SSH. ✅ Controla permisos y protege ramas críticas. ✅ Mantén dependencias seguras con Dependabot. ✅ Evita exponer información sensible en los commits. ✅ Monitorea accesos y cambios en el repositorio.
Sara María Mejia Sánchez
Aunque ya había usado la asignación del .gitignore al momento de crear los repositorios, no conocía el repo oficial de GitHub dedicado a esto.
Excelente clase 🚀
Diego Andrés Lopez Rodriguez
Realizar mantenimiento a los repositorios es crucial para asegurar su seguridad, funcionalidad y eficiencia. Permite detectar y corregir vulnerabilidades, gestionar conflictos y mantener la organización del código. Un repositorio bien mantenido facilita la colaboración, evita errores y optimiza el flujo de trabajo, lo cual es esencial en proyectos de desarrollo. Además, una buena práctica de mantenimiento mejora la calidad del software y la experiencia del equipo.
Fernando Hernández Santos
Las clases están desordenadas, el orden correcto va así
-Configuración de repositorios privados -Mitigación de brechas de seguridad -Gestión de seguridad en paquetes con dependabot
Luis Quiroz Prada
Para deshacer el último commit pero mantener los cambios en el área de preparación, puedes usar el comando:
git reset --soft HEAD~1
Este comando deshace el último commit y deja los cambios listos para ser reformulados. Recuerda que es importante entender cómo funciona git reset y sus diferentes opciones para evitar perder trabajo accidentalmente.
Albert Jose Salas Yustiz
Luis Quiroz Prada = Monkey D. Luffy
Carlos Valdez
este curso esta muy completo mucho mas que la version anterior, pero si la clase de gitignore no creo que deberia estar ya cerca del final del curso
Jose Cruz Zabaleta
Estoy de acuerdo
Manuel Alejandro Arteaga Ontiveros
Al momento de hacer el pull me pide confirmar mi cuenta. Pero al poner mis datos, me dice que hay un error y no me deja hacer el comando. Ayudaaa!!!
Samuel Soto Hoyos
Debes usar SSH. ese error solo sucede con HTTPS. Hay una clase anterior en este curso que te enseña a configurar las llaves SSH.
Ciro de Jesus Arrieta Lacouture
Cuando deseas ignorar archivos específicos en un repositorio de Git (por ejemplo, para no subir ciertos archivos a GitHub), se utiliza un archivo especial llamado .gitignore. Este archivo contiene una lista de patrones que Git debe seguir para determinar qué archivos y directorios deben ser ignorados durante las operaciones de seguimiento y commit.
La razón por la que a veces se usa un asterisco (*) y un punto (.) en los patrones es debido a cómo Git maneja las expresiones de coincidencia de patrones.
¿Por qué usar * y . en los patrones?
*): El asterisco en un archivo .gitignore es un comodín que representa cualquier cadena de caracteres (excepto / en el contexto de directorios). Es útil cuando quieres hacer coincidir cualquier archivo con una extensión específica o cualquier archivo cuyo nombre coincida con un patrón.
*.json ignora todos los archivos que tengan la extensión .json.*.log ignora todos los archivos con extensión .log..): El punto se utiliza para denotar el inicio de una extensión de archivo, como .json, .txt, .exe, etc. En las cadenas de patrones de .gitignore, es importante mantener el punto antes de la extensión para hacer coincidir exactamente los archivos con esa extensión.Ejemplos de patrones comunes en .gitignore:
.json:Yehoshua Goldman Saravia
este curso esta super completo
Edil Guardado
Esta clase es exelente. Gracias profe.
Eduardo Reyes
Hay una herramienta que a mi me gusta mucho para crear .gitignore files, y es , ahi solo colocas las tecnolog[ias que vas a usar en utu proyecto, haces clicn en Create y te da un archivo en texto plano con todas las reglas del .gitignore que necesitas.
Carlos Antonio Martínez Miranda
Excelente clase pero me parece que el video está mal ordenado, porque en videos anteriores se habla sobre el archivo .gitignore que acabamos de realizar como si ya se hubiera hecho desde antes
Santiago Heredia
lol esta tenía que ser la clase 30!!
José Lancheros Ayora
Clase 32
Jhoan Manuel Murillo Yara
Hola a todos, pregunta, si copie un repo a travez de fork, puedo borrarlo de mi lista de repositorios? o al menos puedo dejarlo privado? afecta en algo al repo original? Excelente curso, he aprendido un monton
Raul Fernandez
Claro que puedes borrarlo y siempre será tu repositorio sobre el que estás actuando, ya que no tienes derechos sobre el repositorio del, es decir, de aquel del cual clonaste. Con tu repositorio clonado puedes hacer lo que gustes, además de borrarlo, puedes hacerlo privado sin problemas. Y no, no afecta en nada el original, como dije anteriormente, no tienes ningún derecho o privilegio sobre el repositorio original.
Espero haberte ayudado, saludos.
Claudia Iliana Padilla Magaña
excelente
Jhon Alexander Mosquera Vanegas
Una idea práctica de esta clase es que el .gitignore se resuelve mejor al crear el repositorio que como parche posterior. En el ejemplo hubo que borrar a mano las carpetas bin y obj y escribir las rutas en el archivo, cuando buena parte de ese trabajo se evita eligiendo la plantilla al crear el repositorio. Además, nadie tiene que memorizar qué ignora cada lenguaje, porque GitHub mantiene una colección de plantillas para Node, Python, Visual Studio y otros. Por eso conviene fijar como regla de equipo elegir la plantilla desde el inicio y luego sumar a mano los archivos propios, como appsettings.json.
Paul Andrés Andia Frias
¿Cómo tener seguridad en github?
*GIT PULL: Actualiza y carga los últimos datos del repo a mi repo local.
Daniel Vergel