2010-04-07 30 views
41

Uso Microsoft Visual SourceSafe para el control de versiones. Me gustaría cambiar este enfoque y usar software más nuevo para este trabajo. ¿Cuáles son las diferencias entre estas tres aplicaciones? ¿Cuál es mejor?¿Cuáles son las diferencias entre TFS, SVN y GIT?

¿Están estas soluciones integradas con Visual Studio?

+0

¿Puede calificar ** mejor **? ¿Características particulares? Usabilidad general (supongo que bajo windows para usted)? ¿Integración VS? – R0MANARMY

+0

Me refiero a la usabilidad general y la integración con VS. –

+17

Todos ellos son mucho mejores que VSS si me preguntas. –

Respuesta

107

TFS es una solución de administración del ciclo de vida de la aplicación, SVN y Git son solo control de fuente.

TFS hace control de origen, así como el seguimiento de problemas, gestión de documentos, informes, integración continua, laboratorios virtuales para pruebas, etc.

de TFS control de código fuente & SVN son el control de fuente centralizada, Git se distribuye.

Ha habido muchas discusiones sobre Stackoverflow sobre TFS vs SVN.

TFS es el más estrechamente integrado en Visual Studio.

SVN tiene algunas opciones de terceros para integrarse en Visual Studio y son bastante buenas, pero no tan bien integradas como TFS.

Git tiene GitExtensions que permite un bajo nivel de integración dentro de Visual Studio.

+49

+1 para declarar los hechos sin opinión. –

+3

Además: TFS cuesta dinero por adelantado. Git hace que la bifurcación y la fusión sean más fáciles, más seguras y 'más baratas'. – Benjol

+10

TFS me mata cada vez que tengo que trabajar sin conexión. –

3

Solo puedo hablar con la integración de Visual Studio para SVN. He usado tanto VisualSVN como AnkhSVN. Ambos tienen una integración bastante estrecha y le permiten realizar diversas operaciones desde el menú Solution Explorer de la forma que normalmente lo hubiera hecho con VSS. La versión 2+ de Ankh (la que uso actualmente) ha sido muy estable para mí y mundos mejor que las versiones anteriores.

Esto parece una discusión bastante detallada sobre el uso de Git with Visual Studio.

+0

He intentado todos esos y finalmente siempre termino volviendo a la línea de comando. Las herramientas de GUI invariablemente se sienten como trabajos de hack a medio terminar. – kprobst

+1

@kprobst: la mayor parte de mi interacción con Ankh es en la forma de obtener lo último y comprometerme, así que no he sentido las limitaciones. – R0MANARMY

+3

No llamaría a Ankh un trabajo de hack a medio terminar, está bien. – heisenberg

3

Esto se suma a las otras respuestas, no una respuesta completa como Michael Shimmins satisfecho la mayor parte de lo que diría

TFS (especialmente 2010) es muy accesible para la aplicación de técnicas de control de fuentes que habría sido terriblemente presionada para ejecutar con VSS. La ramificación y fusión es mucho más fácil con TFS que SVN para comenzar y seguir el paso del tiempo. Diría lo mismo sobre Git desde una perspectiva de interacción del usuario, pero esas herramientas están mejorando lentamente.

Git es una gran herramienta si pasas el tiempo de aceleración y las técnicas que la comunidad toma como práctica estándar bien valen la pena en cualquier sistema de control de versiones. Todavía se encontrará con conflictos con los archivos SLN y CSProj/VBProj en equipos de> 2. Esto es el resultado de la forma en que se estructuran y administran esos archivos.

9

Mejor es una gran discusión, pero en la misma línea hay que tener en cuenta el costo.

SVN es gratuito, mientras que TFS no lo es. Sin embargo; Si tiene su Visual Studio a través de una suscripción de MSDN y esto es de high enough level, recibirá TFS2010 de forma gratuita a través de sus descargas de suscripción a MSDN cuando se lance. Este puede ser un factor que inclina la balanza.

En cuanto a la integración con Visual Studio, no puede vencer Team Explorer para TFS. Sin embargo, he usado Anhk con SVN y eso también funciona bien. Creo que el resto de esto se ha dicho :-)

Espero que esto ayude.

3

La pregunta es bastante antigua, sin embargo, en caso de que alguien se tropiece con ella: desde enero de 2013, git se ha integrado en TFS (anuncio: http://www.visualstudio.com/en-us/news/2013-jan-30-vso#git). Lo que significa es que el equipo ahora puede usar git como la herramienta de control de origen (en lugar de, pero no al lado, del sistema de control de versiones TFS "integrado") mientras usa el resto de TFS para actividades tales como integración continua, problemas seguimiento, y así sucesivamente.

discusión original en MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx

Stackoverflow tiene un gran conjunto de discusiones relevantes (https://stackoverflow.com/search?q=tfs+git), no puede apuntar a nada concreto.

Cuestiones relacionadas