¿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: