git tfs

Git y Team Foundation Server



tfs (9)

Actualización: ya no uso TFS. Pero de los comentarios puedo ver que git-tfs es obviamente el camino a seguir hoy en día.

¿Alguien ha experimentado usando Git como una solución fuera de línea para Team Foundation Server?

Para Subversion puede usar git-svn para mantener un repositorio privado con un backend svn.

Intenté usar SvnBridge y git-svn para trabajar con TFS. Al principio parecía prometedor, pero Visual Studio reconoce que la solución está bajo el control de la versión TFS e interfiere durante la ejecución.

¿Hay otras formas de combinar esos dos?


Estoy seguro de que es posible, pero va a ser muy rube goldberg-ian en su construcción y lo más probable es que genere más dolor que placer. Sugiero elegir un sistema de control de fuente e ir con él.

Si necesita soporte real sin conexión, entonces git es increíble, pero el soporte para Windows aún es un poco escaso.




Un poco fuera del tema de su pregunta, pero he escrito un script de Powershell que convierte un repositorio de TFS en uno de Git. También podría ser útil.

Ver mi repositorio Github para el guión




Brian Harry explica detalladamente la nueva integración de repositorios de Git en Team Foundation Service y Team Foundation Server 2013 . Hay bastantes puntos interesantes que él hace que son particularmente importantes para las empresas y, en general, para los equipos que se preocupan por tener un buen hosting de sus repositorios Git:

Facilidad de instalación : ahora hemos hecho que la instalación de Git sea una parte integral de la instalación de TFS. No hay nada que hacer, rastrear y descargar. Nada para instalar y configurar por separado. Simplemente instale TFS 2013 y obtenga automáticamente el soporte de Git.

Soporte y servicio : debido a que lo estamos enviando, lo apoyamos. Esto significa que si tiene algún problema, puede contactar a nuestro soporte y obtener ayuda. Recibirá actualizaciones de seguridad, soluciones rápidas, actualizaciones regulares y más de la misma manera en que está acostumbrado a recibirlas. Trabajaremos duro para asegurarnos de que su servidor TFS esté en buen estado y actualizado independientemente de las funciones que esté utilizando.

Alta disponibilidad : desde el principio, hemos trabajado para que TFS sea compatible con la alta disponibilidad. Nuestro soporte de Git no es una excepción: admitimos todas las mismas cosas que usted está acostumbrado con TFS: balanceo de carga y clustering para asegurar que su servidor continuará funcionando a pesar de fallas de hardware y software, Geo-replicación si necesita estar seguro que mantenga la continuidad del negocio incluso frente a interrupciones regionales, respaldo en línea y restauración como una parte integrada de TFS para que sus actuales políticas de restauración y copia de seguridad (registro completo, incremental y de transacciones) continúen funcionando (brindándole un buen RTO) y RPO).

Escalar : al igual que con TFS, puede escalar su instalación de TFS sin problemas a medida que crecen sus necesidades. Esto incluye escalar tanto el nivel de aplicación como el nivel de almacenamiento a medida que necesita agregar capacidad adicional.

Facilidad de administración : nuestra implementación de Git está completamente integrada en TFS para que todas sus políticas de administración puedan continuar sin cambios: administración de cuentas de servicio, migración de hardware, parches de software, respaldo y restauración, monitoreo, administración de permisos y más.

Autenticación integrada : nuestra compatibilidad con Git integra por completo la autenticación de Windows Active Directory para que todo su control de acceso, auditoría, etc. se pueda hacer frente a una infraestructura consistente y manejable. Como parte de esto, todos los cambios se auditan contra una identidad autorizada que le asegura que sabe quién hizo cada cambio.

Permisos mejorados : hemos creado (y estamos creando) un conjunto de repositorios adicionales y capacidades de administración de permisos que permiten a los administradores "controlar el caos". El primer conjunto incluye la capacidad de gestionar repositorios (crear, eliminar, renombrar, etc.) y permisos de nivel de repositorio que controlan los permisos Leer, Escribir y Administrar. También incluimos un cuarto permiso que aborda un problema clave que muchos clientes han tenido con Git: "Force push", que permite a los usuarios "alterar la historia". Si bien habilitamos esta capacidad, también permitimos que los administradores la desactiven con un permiso. También estamos trabajando en permisos adicionales ahora, como permisos de nivel de rama que permitirán a los administradores controlar quién puede crear, eliminar y usar ramas individuales. De esta forma, los desarrolladores pueden usar la bifurcación de cualquier forma que elijan localmente pero, cuando van a retroceder al repositorio maestro, están restringidos por las políticas que configura el administrador.

Integración de ALM : y, por supuesto, estamos integrando completamente a Git en los flujos de trabajo de TFS ALM: seguimiento de elementos de trabajo, automatización de compilación, generación de informes, revisión de código y más. Todavía no se ha completado toda esa integración, pero la realizaremos a través de las actualizaciones de 2013 y, cuando hayamos terminado, deberíamos tener plena paridad con las capacidades de integración de ALM entre Team Foundation Version Control y Git Version Control.

Localización : al igual que el resto de nuestro producto, nuestras capacidades de Git estarán ubicadas en los mismos idiomas que el resto de VS, haciéndolo más accesible para partes del mundo que no habla inglés.

Fuente: Enterprise Grade Git Repos


Estoy de acuerdo con Matt Burke, dijo, creo que http://git-tfs.com es tu elección. Pero hay algún inconveniente:

  • tienes que cometer 2 veces, una vez en VS y una vez en la consola de Git

  • si desea vincular un conjunto de cambios a algún elemento, debe aprender más acerca de la declaración de git-tfs (rcheckin, ...)