Git TFS
Git TFS
Git TFS
Los sistemas de control de versiones son programas que tienen como objetivo
controlar los cambios en el desarrollo de cualquier tipo de software, permitiendo
conocer el estado actual de un proyecto, los cambios que se le han realizado a
cualquiera de sus piezas, las personas que intervinieron en ellos, etc.
TFS es una solución robusta y completa, ya que todos los elementos que la conforman están
integrados de forma natural. Como con cualquier instrumento hay que dedicar un tiempo
inicial de configuración, pero luego el tiempo dedicado al mantenimiento es mínimo
comparado con plataformas heterogéneas. TFS es una de las plataformas de más rápida
evolución en el mundo Microsoft, ofreciendo nuevas versiones con actualizaciones cada año
o cada 2 años a lo sumo.
VENTAJAS:
Desventajas
No podrás crear y fusionar ramificaciones del proyecto principal de forma tan rápida como
con, por ejemplo Git. Por norma general un cambio entre las diferentes ramas dentro de TFS
suele tardar de 15 a 30 minutos, mientras que con Git podremos contar este tiempo de transición
en segundos (varios minutos si nuestro proyecto es de gran envergadura), cambiando por
completo el flujo de trabajo de desarrollo. Además no podrás dotar a tu sistema de control de
versiones de un nivel de aislamiento similar al de Git, al tratarse de un sistema de control de
versiones centralizado.
No tendrás a tu disposición herramientas como Pull request (PR), una función compartida por
todas las plataformas Git fundamental en equipos de desarrollo al simplificar el desarrollo de
diferentes componentes de un proyecto del que no somos propietarios , puesto que nos
permitirá crear una “copia” del proyecto o ramificación sobre la que nosotros podremos trabajar
y solicitar al equipo o persona autor o dueño de dicho código si quiere añadir nuestras
modificaciones. Esta “solicitud de extracción” ayudará enormemente si contamos o sabemos de
alguna comunidad de desarrollo que suela implementar o crear mods, mejoras, revisiones, etc…
a raíz de un proyecto base.
En efecto, contaréis con TFS changeset (Conjunto de Cambios TFS) que os permitirá revisar las
anotaciones de los testers sobre el código del proyecto o rama que estén trabajando para corregir
aquellas anotaciones o comentarios. No obstante, en Git encontramos funcionalidades avanzadas
en este campo, pudiendo limpiar el historial de cambios y anotaciones del proyecto (o de una
parte de este) antes de combinarlo con la línea principal de desarrollo. Al pasar esta nueva
revisión de la app a los testers, éstos no conocerán comentarios anteriores por lo que
comprobaremos de nuevo desde cero si existe algún fallo en lugar de que se centren
únicamente en los referentes a los comentarios previos.
Todos los elementos de trabajo tienen un historial en el que se registra toda la actividad. Cada
vez que cambia un elemento de trabajo, ya sea porque el estado de éste cambia a cerrado o
porque se actualiza alguna nota con nueva información, se registran todos los cambios para
que las personas autorizadas puedan consultar en cualquier momento el historial completo de
la actividad del elemento de trabajo.
¿Qué es Git?
Desarrollado en 2005 por Linus Torvalds precisamente para la creación del Kernel de Linux,
hoy se utiliza para diseñar cualquier sitio web, software o código de forma rápida e
inteligente.
Pero el recurso que hace que esta herramienta sea tan útil y práctica es el sistema de control
de alteraciones.
Eso significa que cada vez que alguien cambia el código, se genera una nueva versión para el
proyecto. Así, no hay riesgo de perder ninguna información.
En Git, tampoco hay problema con los códigos sobrescritos y la pérdida de informaciones, ya
que las versiones se guardan en el repositorio — directorio donde se almacenan todos los
archivos de tu proyecto.
¿Qué es GitHub?
GitHub es una red social de desarrolladores. La primera parte del nombre, “Git”, se debe
al uso del sistema de control de versiones y la segunda parte, “Hub”, tiene que ver con la
conexión entre los profesionales de programación de cualquier parte del mundo.
Además, GitHub es una de las plataformas de trabajo colaborativo en línea más grandes del
mundo.
Git es una herramienta que realiza una función del control de versiones de código de
forma distribuida, de la que destacamos varias características:
Es muy potente
Fue diseñada por Linus Torvalds
No depende de un repositorio central
Es software libre
Con ella podemos mantener un historial completo de versiones
Podemos movernos, como si tuviéramos un puntero en el tiempo, por todas las
revisiones de código y desplazarnos una manera muy ágil.
Es muy rápida
Tiene un sistema de trabajo con ramas que lo hace especialmente potente
En cuanto a la funcionalidad de las ramas, las mismas están destinadas a provocar
proyectos divergentes de un proyecto principal, para hacer experimentos o para probar
nuevas funcionalidades.
Las ramas pueden tener una línea de progreso diferente de la rama principal donde
está el core de nuestro desarrollo. En algún momento podemos llegar a probar algunas de
esas mejoras o cambios en el código y hacer una fusión a nuestro proyecto principal, ya
que todo esto lo maneja Git de una forma muy eficiente
Los Sistemas de Control de Versiones Centralizados (VCS), como por ejemplo Subversion,
que es una herramienta en la que se ha confiado para albergar el histórico de revisión de
versiones, es un punto centralizado, lo cual puede llegar a suponer una merma de trabajo si
perdemos la conectividad de la red.
Git es el gestor de código fuente que domina el panorama desde hace años y que la práctica
mayoría de desarrolladores y empresas utilizan hoy en día.
Sistema distribuido, sin un punto central de fallo, que permite el trabajo incluso sin
conexión.
Superrápido y ligero, optimizado para hacer operaciones de control muy rápidas.
Crear ramas y mezclarlas es rápido y poco propenso a problemas, al contrario que
en otros sistemas tradicionales.
La integridad de la información está asegurada gracias a su modelo de
almacenamiento, que permite predecir este tipo de problemas. En sistemas
tradicionales este era un problema grave.
Permite flujos de trabajo muy flexibles.
El concepto de área de preparación o staging permite versionar los cambios como
nos convenga, no todo o nada.
¡Es gratis! y de código abierto.
Estas herramientas a nivel empresarial, han reforzado mucho la producción y servicios de las
aplicaciones ya que se mantienen los equipos comunicados.
En git, pdemos hacer todas las operaciones básicas a nivel local. Crear o clonar repositorios y
visualizar el historial de cambios en un repositorio.
Para Microsoft Team Fundation, es una solución robusta y completa, ya que todos los
elementos que la conforman están integrados de forma natural. Como con cualquier
instrumento hay que dedicar un tiempo inicial de configuración, pero luego el tiempo
dedicado al mantenimiento es mínimo comparado con plataformas heterogéneas.