
Github y otros repositorios de codigo fuente
Introduce tu correo y accede al cupón de 50 % de mi curso de QA en Udemy.
github es el repositorio de codigo fuente más utilizado a dia de hoy ,es raro que un desarrollador no conozesta este repositorio de código.
Los repositorios de código son fundamentales porque permite que se tenga un backup del código fuente para recuperarlo cuando sea necesario y permite que los desarrollores puedan acceder en cualquier momento. pero empecemos por el principio.
Qué es un repositorio de codigo fuente?
Un repositorio web es un tipo de almacenamiento en la nube que los desarrolladores utilizan para guardar de manera centralizada los cambios del código fuente que realizan de manera local.
Los repositorios cuentan con caracteristicas que les permiten seguir los cambios realizados en el código,editar archivos de manera simultanea y trabajar de manera eficiente en el mismo proyecto y en el mismo software en localizaciones diferentes.
Estos repositorios permiten que de manera local los desarrolladores añadan código, para eso suelo haber una rama principal donde está todo el código y ramas hijos para que cada desarrollador pueda ir añadiendo una funcionalidad nueva.
Cuando se ha terminado la funcionalidad en la rama hija local cada desarrollador sube su código a su rama hija remota y luego si no hay conflictos con la rama padre se une el código a esa rama principal,cada desarrollador va tener que hacer lo mismo con su código .
Después es importante borrar la rama local y remota por temas de organización.
Comentar que es importante realizar pruebas de cada metodo de una clase o componente lo que se llama pruebas unitarias para estar seguro que el código tiene una calidad y también que es código sea analizado por herramientas de análisis estático como SonarQube.
Las pruebas anteriores forman parte de lo que se denomina enfoque de desplazamiento a la izquierda y las pruebas unitarias tienen distintos frameworks para hacerlas como JUnit 5 o TestNG en Java.
Cualquier empresa de desarrollo de software debería tener un repositorio web porque permite centralizar el código ,reponer el código anterior si hay un error grave y crear nuevas funcionalidades de manera rápida y segura que cualquier miembro con acceso podrá descargar.
El repositorio github es una muy buena opción y veremos la razón más adelante.
Características de un repositorio de código fuente
Hay un monton de repositorios de código fuente ,cada uno tiene sus cosas buenas y malas ,pero todos necesitan un sistema de control de versiones subyacente,es quien permite controlar lso cambios y subirlos al repositorio web.
Un repositorio de código fuente y un sistema de controil de versiones no son lo mismo.Un sistema de control de versiones es una utilidad de terminal que se utiliza para gestionar los cambios en el código fuente.
Los repositorios de código son aplicaciones web que encapsulan y mejoran un sistema de control de versiones; no se puede utilizar un repositorio online sin tener que utilizar el sistema de control de versiones subyacente.
Estas herramientas de código no solo controla los cambios de código y es un sitio centralizado para almacenar el código también ofreces servicios para medir,monitorizar ,debatir y gestionar la eficacia del desarrollo de software.
Esta herramienta debe integrase con otras herramientas de gestión de tareas, gestión de relación con los clientes, gestión de tickets de soporte, por ejemplo, Bitbucket que es un repositorio de código de Jira que se integra con esta herramienta y muchas de las herramientas de su familia como puede ser Bamboo.
Un repositorio tiene las siguientes caracteristicas o debería tener:
Sistemas de control de versiones
El sistema de control de versiones es fundamental para el repositorio de código fuente y el más utiliza es git ,por lo tanto el repositorio deberia que vallamos a elegir debería ser compatible con este SCV ,si no lo es tenemos un problema serio.
Por cierto github es compatible con git .
Tamaño del equipo y control de acceso
El numero de personas en el equipo ,su ubicación,los niveles de acceso debe ser soportado por el repositorio web si queremos que nos sea útil y se adaptev a nuestras necesidades.
Programación de la publicación
Hay repositorios que permiten la programación de la publicación de los cambios y que funcionan con herramientas de integración continua como Jenkins o Bamboo.
Integración y despliege continuo
Todo repositorio debería poder hacer un despliegue rápido ,supongamos que tenemos un fallo en producción ,ese fallo deberia solucionarse rápido y desplegarse rapidamente en producción en cuanto se suba el parche al repositorio y que las pruebas fueran automáticas y rápidas(unitarias,de integración,regresión ).
Tamaño de los archivos
Es importante saber el tipo de archivos que tendremos ,archivos grandes como de vídeo o modelado 3D ocupan mucho y no todos los repositorios los manegan,github y gitlab son muy buenos con archivos de texto como código fuente.
Integración con terceros
Es importante que un repositorio se integrue con herramientas como Jira,Jenkins,Azure DevOps y que permita que se puedan importar proyectos de otros repositorios,github permite importar protectos de los repositorios más importantes.
github y otros repositorios y sus caracteristicas
Los repositorios más utilizados hoy en día son 3 github,gitlab y bitbucket ,abajo os dejo una imagen con las caracteristicas de cada uno .

github tiene alojamiento privado pero para el servicio de empresas solamente mientras que Bitbucket con su servidor Bitbucket y Gitlab de manera intrínseca.
Como se puede observar Bitbucket creo que sería el mejor repositorio, después GitLab y por último GitHub.
Certificación Soc 2 Tipo II esto significa que garantizan que no se expondrá tu código y que se harán auditorias para asegurarse que pasan controles de seguridad y privacidad de estándares externos como ISO 27001.
Si quieres saber más de github y cuales son los comandos más importantes de git sigue este enlace.
También te dejo estos tres libros sobre github,bitbucket y gitlab fundamentales.
- Durán García, Miguel Ángel(Autor)
- Spanish(Idioma de Publicación)
- 332 Páginas – 04/22/2024 (Fecha de Publicación) – Editor: Independently published
- Christopher Cowell(Autor)
- English(Idioma de Publicación)
- 348 Páginas – 02/24/2023 (Fecha de Publicación) – Editor: Packt Publishing
- Edición Amazon Kindle
- Painter, Jeffrey(Autor)
- English(Idioma de Publicación)
- 1130 Páginas – 07/31/2024 (Fecha de Publicación) – Editor: Apress
Si te ha gustado suscribete a mi newsletter o únite a mi canal de Whatshapp para seguir mis publicaciones en mi podcast testing para principiantes o en el blog de esta página.
Última actualización el 2025-05-18 / Enlaces de afiliados / Imágenes de la API para Afiliados
Responses