¿Es posible configurar archivos / carpetas para ignorar por proyecto en el control de fuente TFS?
Por ejemplo, tengo un sitio web con una carpeta de activos que no quiero ingresar al control de origen. Estos activos son mantenidos por un sistema separado. Además, no quiero poner varios gigabytes de activos en el control de origen, pero necesito un par de muestras en mi máquina de desarrollo, pero tampoco quiero verificarlas.
Si estoy trabajando en este sitio web mientras estoy vinculado al control de origen y actualizo el árbol, estos archivos se agregarán automáticamente nuevamente
Quiero evitar que esto suceda.
Respuestas:
Para VS2015 y VS2017
Funciona con TFS (on-prem) o VSO (Visual Studio Online - la oferta alojada en Azure)
La documentación de NuGet proporciona instrucciones sobre cómo lograr esto y las acabo de seguir con éxito para Visual Studio 2015 y Visual Studio 2017 contra VSTS (TFS alojado en Azure). Todo está completamente actualizado a partir de
noviembre de 2016agosto de 2018.Te recomiendo que sigas las instrucciones de NuGet pero solo para recapitular lo que hice:
packages
carpeta no esté comprometida con TFS. Si es así, sácalo de allí..sln
existe su archivo, a menos que se especifique lo contrario (las instrucciones de NuGet no son completamente claras al respecto)..nuget
carpeta. Puede usar el Explorador de Windows para asignarle un nombre.nuget.
para que se guarde correctamente como.nuget
(elimina automáticamente el último período) pero.nuget
puede que no intente asignarle un nombre directamente (puede recibir un error o puede cambiar el nombre, dependiendo de su versión de Windows ) O asigne un nombre al directorio nuget y abra el directorio principal en la línea de comandos. tipo. ren nuget .nugetNuGet.config
archivo y agregue los siguientes contenidos y guárdelo:NuGet.config:
.sln
carpeta de su carpeta, cree un nuevo archivo de texto y asígnele un nombre.tfignore
(si usa el Explorador de Windows, use el mismo truco que el anterior y asígnele el nombre.tfignore.
).tfignore:
.tfignore
archivo y la.nuget
carpeta en todas mis diversas soluciones y las comprometí y ya no tengo lapackages
carpeta tratando de colarse en mi repositorio de control de código fuente!Personalización adicional
Si bien no es mío, he encontrado esta
.tfignore
plantilla de sirkirby muy útil. El ejemplo en mi respuesta cubre lapackages
carpeta Nuget, pero esta plantilla incluye algunas otras cosas y proporciona ejemplos adicionales que pueden ser útiles si desea personalizar esto más.fuente
Si está utilizando espacios de trabajo locales (TFS 2012+), ahora puede usar el
.tfignore
archivo para excluir las carpetas y archivos locales del registro .Si agrega ese archivo al control de origen, puede asegurarse de que otros miembros de su equipo compartan la misma configuración de exclusión.
Detalles completos sobre MSDN: http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore
Para los perezosos:
Archivo de ejemplo:
fuente
.tfignore
así que creé.tfignore.
y eliminó el último punto por su cuenta ....tfignore
archivo debido a la falta de un nombre propio, puede crearlo o cambiarle el nombre a través de una ventana de línea de comandos.Se hace parecer un poco engorroso hacer caso omiso de los archivos (y carpetas) en Team Foundation Server. He encontrado un par de formas de hacer esto (usando TFS / Team Explorer / Visual Studio 2008). Estos métodos también funcionan con el tipo de proyecto ASP del sitio web.
Una forma es agregar un elemento nuevo o existente a un proyecto (por ejemplo, hacer clic con el botón derecho en el proyecto, Agregar elemento existente o arrastrar y soltar desde el explorador de Windows al explorador de soluciones), dejar que TFS procese los archivos o la carpeta y luego deshacerlos cambios en los artículos. TFS los desmarcará como teniendo un cambio de agregar pendiente, y los archivos se quedarán en silencio en el proyecto y permanecerán fuera de TFS.
Otra forma es con el comando Agregar elementos a la carpeta de Source Control Explorer. Esto inicia un pequeño asistente, y en uno de los pasos puede seleccionar elementos para excluir (aunque, creo que debe agregar al menos un elemento a TFS con este método para que el asistente le permita continuar).
Incluso puede agregar una política de registro de patrones prohibidos (en Equipo -> Configuración del proyecto de equipo -> Control de origen ... -> Política de registro) para evitar que otras personas del equipo ingresen ciertos activos por error.
fuente
Para TFS 2013 :
Comience en VisualStudio- Team Explorer , en el cuadro de diálogo PendingChanges deshaga los cambios con el estado [add], que debe ignorarse.
Visual Studio detectará los Agregar nuevamente. Haga clic en "Detectado: x agregar (s)" -en los cambios excluidos
En el cuadro de diálogo abierto "Promover cambios de Cadidate", puede excluir fácilmente archivos y carpetas con el menú contextual. Las opciones son:
No olvide registrar el archivo .tfignore modificado.
Para VS 2015/2017 :
El mismo procedimiento: en la pestaña "Cambios excluidos" en TeamExplorer \ Cambios pendientes, haga clic en Detectado: xxx add (s)
Se abre el cuadro de diálogo "Promover cambios de candidatos", y en las entradas puede hacer clic con el botón derecho en el menú contextual. El error tipográfico ya está solucionado :-)
fuente
Encontré la manera perfecta de ignorar archivos en TFS como lo hace SVN.
En primer lugar, seleccione el archivo que desea ignorar (por ejemplo, el archivo Web.config).
Ahora ve a la pestaña del menú y selecciona:
... y bum; su archivo está permanentemente excluido del control de origen.
fuente
Asumiré que está utilizando proyectos de sitios web. Estos rastrean automáticamente su directorio de proyectos y lo ponen todo en control de código fuente. No hay forma de detenerlos.
Sin embargo, no te desesperes. Los proyectos de aplicaciones web no exhiben este comportamiento extraño y bastante inesperado (imho: imbécil). WAP es un complemento para VS2005 y viene directamente con VS2008.
Como alternativa a cambiar sus proyectos a WAP, puede considerar mover la carpeta Assets fuera del control de Source a una Biblioteca de documentos TFS. Solo haga esto SI el proyecto en sí no usa directamente los archivos de activos.
fuente