¿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 sin conexión 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, para 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 comandos, 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 tendrán que abandonar la interfaz de usuario, aunque no obtendrán muchas de las funciones interesantes ...
Puede haber algunos otros inconvenientes, principalmente debido al hecho de que es diferente a lo que la gente está acostumbrada. No es muy 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 la ramificación / fusión básica sin la interfaz de línea de comandos?
Tiene todo lo que necesita para operaciones básicas. Pero necesitas 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:
Otras buenas lecturas:
Y algunas herramientas que vale la pena instalar:
Para aclarar una terminología mixta confusa que se usa mucho con TFS
Team Foundation Server (TFS) es una herramienta de gestión del ciclo de vida de la aplicación, que incluye un sistema de control de versiones de origen (VCS) componente de .
El componente VCS que usa TFS es principalmente Team Foundation Version Control (TFVC)
Entonces, la pregunta sería TFVC vs Git
(De hecho, TFS admite Git como una opción de VCS ).
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
fuente
simple
forma de hacerlo.Si no se siente cómodo con la interfaz de línea de comandos, hay varias interfaces GUI disponibles para Git. Git en sí contiene una herramienta GUI del navegador de repositorio llamada
gitk
ygit-gui
- una GUI para git. Luego están las aplicaciones de terceros como git-cola , TortoiseGit y otras .fuente