Saltar al contenido

¿Cuáles son las grandes diferencias entre TFVC (TFS Version Control) y Git para el control de código fuente cuando se usa Visual Studio 2013?

Recabamos en diferentes foros y así brindarte la solución para tu problema, si continúas con alguna difcultad puedes dejarnos tu duda y te respondemos con gusto, porque estamos para ayudarte.

Solución:

Actualizar

Desde 2013 han pasado muchas cosas:

  • Microsoft ha agregado compatibilidad con ssh a Team Foundation Server, Azure DevOps Server y Azure DevOps.
  • Visual Studio 2019 16.8+ se envía con un cliente de git completamente renovado.
  • Microsoft ha sacado sus propios productos internos de TFVC. Las fuentes de Windows y Office ahora se encuentran en Git en Azure DevOps.
  • Microsoft ha comprado GitHub, que ahora es el foco principal de las ofertas relacionadas con DevOps; como consecuencia, muchas personas que contribuyeron a Azure DevOps se han trasladado a GitHub.
  • Virtual File System para Git y Git Large File System han resuelto muchas de las razones por las que las personas permanecieron en TFVC.
  • Azure DevOps tiene una herramienta de migración integrada que puede convertir (parte de) su historial de TFVC en un repositorio de git.

En todo este tiempo le sucedió muy poco a TFVC:

  • Los pipelines YAML aún no han recibido soporte TFVC 2 años después de su introducción (no los espero en absoluto).
  • Team Explorer ahora se llama “Legacy” en Visual Studio
  • TFVC ha sido declarada como característica completa
  • El soporte TFVC para Eclipse y Visual Studio Code y Linux / Mac están oficialmente obsoletos / al final de su vida útil.

Está bastante claro quién ganó: Git.


¿Cuáles son las grandes diferencias entre TFS y Git para el control de código fuente cuando se usa VS 2013?

MSDN tiene una página muy extensa sobre todas las características y diferencias entre Team Foundation Version Control y Git.

¿El único beneficio en mi caso es un repositorio local (sin decir que eso sea insignificante) y soporte para el desarrollo de IoS?

No, hay mucho más, pero a menudo son escenarios avanzados de Git. El repositorio local, el soporte fuera de línea y la fidelidad local total en el historial son increíblemente poderosos, lo obtiene de inmediato con Visual Studio. ¡Hay algunas otras características que también son geniales! La capacidad de ramificarse y fusionarse de un repositorio a otro es muy poderosa. Te recomiendo que busques el libro Pro Git para esos. Git en TFS es solo otro servidor de git, tiene prácticamente todas las características que tiene el Git estándar.

La capacidad de reescribir el historial antes de fusionar le permite eliminar o combinar varios conjuntos de cambios más pequeños, de modo que el historial sea más limpio y más fácil de leer como humano.

Es el único inconveniente de Git, la interfaz de línea de comandos (algunos dirían que no es un inconveniente ;-P).

TFVC también tiene una línea de comando, la gente simplemente no la usa. Para las personas que quieren usar Git y nunca hacer mucho más de lo que hace TFVC, probablemente no necesiten salir de la interfaz de usuario, aunque no obtendrán muchas de las características interesantes …

Puede haber algunos otros inconvenientes, principalmente debido al hecho de que es diferente a lo que la gente está acostumbrada. No es demasiado difícil pegarse un tiro en el pie si no te tomas el tiempo para aprender lo que hace git cuando haces las cosas. Cosas como Rebase y Squash son realmente poderosas y crean un historial muy limpio, pero pueden dejar a las personas con el problema de que ya no pueden fusionarse si se usan incorrectamente. TFS tiene la capacidad de poner algunas configuraciones de seguridad para quitarle los derechos para tomar decisiones muy estúpidas en un repositorio de git.

Un complemento muy interesante para los usuarios de Git en Windows es PoSHGit. proporciona autocompletado de comandos en la línea de comandos de Powershell.

¿Ha experimentado en la GUI de VS 2013 para Git? ¿Es eso suficiente para admitir bifurcaciones / fusiones básicas sin la interfaz de línea de comandos?

Tiene todo lo que necesita para operaciones básicas. Pero es necesario poder visualizar las diferentes ramas para saber qué está pasando. Dado que el servidor Git y el repositorio local son solo Git, cualquier cliente git puede ayudarlo aquí. SourceTree es una opción aquí. El cliente de Git para Windows es otro.

Para operaciones estándar, check-in, check-out, merge, branch (o push, pull, fetch, commit, merge) la interfaz de usuario funciona bien.

¿Existe una guía de inicio detallada para Git que muestre que Git se usa con VS 2013? MS tiene un video para integrar un repositorio de Git existente en VS 2013, pero estoy buscando comenzar desde cero con Git y VS 2013.

Comenzar con Git está disponible en varios lugares … Estas son algunas opciones:

  • MSDN Docs: use Visual Studio con Git
  • Blog de MSDN: Introducción a Git
  • Hay un laboratorio práctico para Brian Keller VM.
  • Microsoft Virtual Academy: uso de Git con Visual Studio 2013 Jump Start
  • Pluralsight: Git para desarrolladores de Visual Studio

Otras buenas lecturas:

  • MSDN Docs: Resumen de Git vs TFVC
  • Syncfusion: Git sucintamente
  • Configuración de la herramienta Fusionar de Visual Studio como predeterminada para Git
  • usando PoshGit desde Visual Studio
  • Presione: Pro Git
  • Guía de usuarios de ALM Ranger Git para TFVC.

Y algunas herramientas que vale la pena instalar:

  • PoshGit
  • SourceTree
  • Margen diferencial de Git

Para aclarar algunos confusos mixed terminología que se usa mucho con TFS

Team Foundation Server (TFS) es una herramienta de gestión del ciclo de vida de las aplicaciones, que incluye una fuente sistema de control de versiones (VCS) componente.

los VCS componente que TFSusos es primariamente Control de versiones de Team Foundation (TFVC)

Entonces, la pregunta sería TFVC vs Git

(De hecho, TFS apoyos Git como un VCS opción.)

Entonces, la pregunta es: TFVC vs Git

jessehouwing tiene una gran respuesta que cubre esto con buen detalle, así que por favor haga referencia a eso

En cuanto a elegir cuál usar, en mi opinión Git gana

  1. Es liviano: fácil de configurar y comenzar a usar.
  2. Su naturaleza distribuida significa que es muy resistente a los desastres, alguien siempre tendrá una copia del repositorio.
  3. El trabajo sin conexión es simple, está trabajando con su propio repositorio completo. Puede confirmar cambios, revertir, examinar el historial, etc. Solo necesita estar en línea cuando desee sincronizar con un repositorio remoto.
  4. En TFS no hay una forma sencilla de guardar el estado de sus cambios (adiciones de archivos, modificaciones, eliminaciones de archivos) y cambiar a otro estado de código. (Por ejemplo, para trabajar en dos funciones y alternar entre ellas). En git, simplemente revisa una rama diferente.

Es el único inconveniente de Git, la interfaz de línea de comandos (algunos dirían que no es un inconveniente ;-P).

Si no se siente cómodo con la interfaz de línea de comandos, hay varias interfaces GUI disponibles para Git. Git en sí mismo contiene una herramienta GUI del navegador de repositorio llamada gitk y git-gui – una GUI para git. Luego están las aplicaciones de terceros como git-cola, TortoiseGit y otras.

Al final de la web puedes encontrar las interpretaciones de otros gestores de proyectos, tú también puedes dejar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *