1. SVN y Git, si bien son ambos sistemas de control de
versiones, tienen una diferencia bastante significante.
SVN es un sistema de control de versiones centralizado
Git es un sistema de control de versiones distribuido.
Trabaja con el principio de que cada
desarrollador «clona» el repositorio del
proyecto al disco duro de su dispositivo.
GIT
Opera con la idea de que hay una sola
copia del proyecto a la cual los
desarrolladores realizar el commit de los
cambios, y un solo lugar en el cual todas
las versiones de un proyecto se
encuentran guardadas.
SVN
2. Los usuarios pueden descargar su propia copia del
trabajo, de manera que varios miembros de un equipo
de trabajo pueden estar realizando cambios en un
determinado documento al mismo tiempo.
Cada usuario tiene una copia completa guardada del
proyecto, haciendo que el acceso a la historia de cada
uno sea extremadamente rápida.
Algo muy importante es que debido a ello permite que
puedas utilizarlo con poca conexión a Internet.
Si por algún caso alguno el repositorio queda corrupto,
solo los cambios que hayan sido únicos para ese
repositorio serán perdidos.
GIT
Realizarás los cambios en tu ambiente de trabajo y
luego, una vez que se encuentre todo funcional, se
realiza el commit de los cambios al servidor SVN,
el cual es llamado repositorio.
Cuando un determinado usuario accede al archivo
para realizar cualquier tipo de modificación en el
mismo, el resto de usuarios no pueden trabajar en
él al mismo tiempo.
Si el repositorio central es perdido por algún fallo
del sistema, éste debe ser restablecido desde un
backup
SVN
3. El renombrar un archivo o el comando «git rebase»
hacen difícil el encontrar el historial «verdadero» de
nuestros repositorios.
Sino se hace el comando GIT PUSH, como git trabaja
con repositorios distribuidos, puede que sea más difícil
saber qué cosas están ubicadas dónde.
Permite especificar por usuario el control de lectura y
escritura a RAMAS.
En caso de querer utilizar git con archivos binarios,
deberás especificar cuáles de ellos lo son.
VENTAJAS GIT
Puedes rastrear todos los cambios de un archivo o
carpeta, debido a que el historial en Subversion es
permanente.
Solamente permite tener un repositorio, no
debemos preocuparnos por dónde algo está
guardado. En caso de necesitar un backup o
querer buscar algo, no nos quedará duda de que
todo lo que necesitemos se encuentra en el
repositorio central.
Como tiene un repositorio central, es posible
especificar allí el control de lectura y escritura y
será forzado en todo el proyecto.
Subversion brinda soporte para el modelo
Bloquear-Modificar-Desbloquear para archivos
Binarios.
VENTAJAS SVN
4. servicios de control de versiones
En la nube:
– AWS CodeCommit y resto de servicios AWS
– Google Cloud Source Repositories en el Google Cloud Platform
– Azure
– GitHub era opensource y fue comprada por Microsoft
– GitLab
– Bitbucket
5. Que es GitLab
GitLab es una herramienta de ciclo de vida y repositorio de Git.
Es un completo plataforma DevOps, que permite a los profesionales gestionar y realizar diversas
tareas del proyecto.
Las tareas incluyen la planificación del proyecto, la gestión del código fuente, el mantenimiento de
la seguridad y el seguimiento. Algunas caracteristicas:
● Pipelines CI / CD potentes y bien definidos.
● Wiki
● grupos, subgrupos y proyectos
● Contenedores Docker.
● Registro incorporado implementado instantáneamente sin configuración.
● Admite servidores de terceros para administrar imágenes de Docker.
● Seguimiento de problemas
● Escrito en Ruby and Go
6. Niveles de autenticación en GitLab
Se tiene la opción de modificar y establecer permisos en función de sus roles.
Por ejemplo, puede establecer permiso para que los miembros de su equipo accedan a los
rastreadores de problemas sin permitirles acceder al código fuente. Es útil para equipos
grandes que involucran a colaboradores basados en roles.