Es posible que los archivos/carpetas a ignorar en una base por proyecto en TFS de control de código fuente?

Por ejemplo, tengo un sitio web con una carpeta de activos que no quiero ir a la fuente de control. Estos activos son mantenidos por un sistema separado. También, no quiero poner varios gigabytes de activos en el control de código fuente, pero tengo un par de muestras en mi dev máquina, pero no quiero verificación en cualquiera de los dos.

Si estoy trabajando en este sitio web vinculado al control de código fuente y actualizar el árbol, estos archivos automáticamente se agregan de nuevo

Quiero evitar que esto suceda.

  • Para local de los espacios de trabajo que puede utilizar el .tfignore-Archivos como Richard Bancos señala. Para ajustar este archivo con Contexto-Menú en equipo-Explorerer, ver mi Respuesta. El Servidor Áreas de trabajo I se proporciona un enlace en los comentarios.
InformationsquelleAutor Dave | 2009-05-28

6 Comentarios

  1. 82

    Para VS2015 y VS2017

    Trabaja con TFS (en prem) o VSO (Visual Studio Online – el azul-alojado ofreciendo).

    El NuGet documentación proporciona instrucciones sobre cómo hacer esto y que sólo he seguido con éxito para Visual Studio 2015 & Visual Studio 2017 contra VSTS (Azure alojado TFS). Todo es completamente actualizado de Noviembre de 2016 de Agosto de 2018.

    Te recomiendo que siga NuGet las instrucciones, pero sólo para recapitular lo que yo hice:

    1. Asegúrese de que su packages carpeta no está comprometido con TFS. Si es así, que salir de allí.
    2. Todo lo demás vamos a crear a continuación entra en la misma carpeta que su .sln archivo existe, a menos que se especifique otra cosa (NuGet las instrucciones no están completamente claros en esto).
    3. Crear un .nuget carpeta. Puede utilizar el Explorador de Windows con el nombre de .nuget. para guardar correctamente como .nuget (se elimina automáticamente el último período), pero tratar directamente con el nombre de .nuget no pueden trabajar (usted puede obtener un error o se puede cambiar el nombre, dependiendo de tu versión de Windows).
      O el nombre del directorio de nuget, y abrir el directorio principal en la línea de comandos. tipo. ren nuget .nuget
    4. Dentro de esa carpeta, crear un NuGet.config archivo y agregue el siguiente contenido y guardarlo:

    De NuGet.config:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <solution>
            <add key="disableSourceControlIntegration" value="true" />
        </solution>
    </configuration>
    
    1. Volver en su .sln‘s de la carpeta y crear un nuevo archivo de texto y el nombre de .tfignore (si se utiliza el Explorador de Windows, usar el mismo truco como el de arriba y el nombre de .tfignore.)
    2. Poner el siguiente contenido en el archivo:

    .tfignore:

    # Ignore the NuGet packages folder in the root of the repository.
    # If needed, prefix 'packages' with additional folder names if it's 
    # not in the same folder as .tfignore.
    packages
    
    # include package target files which may be required for msbuild,
    # again prefixing the folder name as needed.
    !packages/*.targets
    
    1. Guardar todo esto, comprometerse a TFS, a continuación, cierre & re-abra Visual Studio y Team Explorer ya no debería identificar la carpeta de paquetes en espera de aprobación de check-in.
    2. Copia/pega través del Explorador de Windows la .tfignore archivo y .nuget carpeta a todos mis diversas soluciones y compromiso de ellos y ya no tengo el packages carpeta tratando de colarse en mi fuente de control de repo!

    Una Mayor Personalización

    Mientras no la mía, he encontrado este .tfignore de la plantilla por sirkirby a ser muy útil. El ejemplo en mi respuesta cubre el Nuget packages carpeta pero esta plantilla incluye algunas otras cosas así como proporciona ejemplos adicionales que pueden ser útiles si usted desea personalizar más a fondo.

    • Seguido de esto en el VS DE 2017 – TFS 2015. Trabajó como un encanto. Todos mis paquetes de Nuget ya no mostraba como los cambios pendientes.
    • Yo sólo tenía que abrir la detecta los cambios y agregar los archivos recién creados a la espera de los cambios a mano. Salvo que todo funcionaba bien.
    • Esto no funciona para mí. VS 2017 – TFS 2015. No puedo comprobar nada. Cuando lo intento me sale el siguiente error: «D:\Src\MiniCoreWebAPI\packages\Microsoft.IdentityModel.Protocols.5.2.1\lib\net451\Microsoft.IdentityModel.Protocols.dll: no se Puede encontrar una parte de la ruta de acceso»
    • Yo no tengo mi carpeta de paquetes del repositorio, sino que ya fue detectado como un cambio pendiente. Después de la aplicación de estas instrucciones, he tenido a «Deshacer Cambios Pendientes» en la carpeta de paquetes, entonces todo estaba bien cuando me reconstruido y NuGet restaurado los paquetes.
  2. 169

    Si usted está usando áreas de trabajo locales (TFS 2012+) ahora se puede usar el .tfignore de archivo a excluir carpetas locales y archivos que se comprueba en.

    Si se agrega que el archivo de control de código fuente puede asegurarse de que otros miembros de su equipo comparten los mismos valores de configuración de exclusión.

    Todos los detalles en MSDN – http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore

    Para los perezosos:

    Puede configurar qué tipos de archivos son ignorados por la colocación de un texto
    archivo llamado .tfignore en la carpeta donde desea reglas a aplicar. El
    efectos de la .tfignore archivo son recursivos. Sin embargo, usted puede crear
    .tfignore archivos en sub-carpetas para anular los efectos de un .tfignore
    archivo en una carpeta principal.

    Las siguientes reglas se aplican a una .tfignore de archivo:

    • # comienza una línea de comentario
    • * Y ? los comodines son compatibles.
    • Un filespec es recursiva a menos precedidos por el carácter\.
    • ! niega un filespec (los archivos que coinciden con el patrón no se omiten)

    Archivo de ejemplo:

    # Ignore .cpp files in the ProjA sub-folder and all its subfolders
    ProjA\*.cpp
    # 
    # Ignore .txt files in this folder 
    \*.txt
    #
    # Ignore .xml files in this folder and all its sub-folders
    *.xml
    #
    # Ignore all files in the Temp sub-folder
    \Temp
    #
    # Do not ignore .dll files in this folder nor in any of its sub-folders
    !*.dll
    
    • he tratado de hacer eso. la única cosa que llegar ignorado es el contenido de la .tfignore archivo 🙁
    • He añadido esto en el ámbito de la Solución y no funcionó…¿tengo que profundizar en la ubicación real del archivo? En función de su respuesta, parece que no me haría falta…y es .tfignore.txt derecho?
    • El archivo es justo .tfignore, sin extensión.
    • mi ordenador no me permite crear .tfignore por lo que he creado .tfignore. y eliminado el último punto en su propio..
    • El problema es que ignora solamente los recursos, los cuales fueron: 1) eliminar explícitamente en Source Control Explorer de la ventana antes de check-in y 2) excluye explícitamente en la Cambios Pendientes de la ventana. Por ejemplo, si usted va a utilizar para ignorar paquetes de la carpeta y se basan en el Paquete de NuGet de Restauración, usted necesitará 1) eliminar paquetes de la carpeta en Control de código Fuente Explorer y, a continuación, 2) excluir de en Cambios Pendientes de la ventana después de que el Paquete de NuGet proceso de Restauración. De lo contrario, se seguirá el check-in paquetes de la carpeta.
    • Si Windows no le permitirá crear la .tfignore archivo debido a su falta de un nombre propio, se puede crear o cambiar el nombre de ella a través de una ventana de línea de comandos.
    • Hay algunos de los principales problema con .tfignore en VS2015. La gente son muy infeliz, pero no parece ser una declaración clara de la cuestión, o un compromiso claro para solucionarlo.
    • Suele ignorar todas las carpetas por su nombre y todos los archivos en él (por ejemplo con el nombre «Un») ? Carpetas con el nombre de «a», puede ser en cualquier profundas y todos ellos deben ser ignorados. P. S.: he encontrado la solución –stackoverflow.com/questions/33264703/…
    • hola>.tfignore para crear el archivo de símbolo del sistema
    • ¿cómo se puede personalizar tfignore en una base por usuario?
    • no trabajo en vs2012

  3. 70

    Se hace parecer un poco engorroso para ignorar los archivos (y carpetas) en Team Foundation Server. He encontrado un par de maneras de hacer esto (con TFS /Team Explorer de Visual Studio 2008). Estos métodos de trabajo con el sitio web de ASP tipo de proyecto, también.

    Es una manera de agregar un elemento nuevo o existente a un proyecto (por ejemplo, haga clic derecho sobre el proyecto, Agregar Elemento Existente o arrastrar y soltar desde el explorador de Windows en el explorador de soluciones), vamos a TFS procesar el archivo(s) o carpeta y, a continuación, deshacer los cambios pendientes en el elemento(s). TFS se desmarca como tener una pendiente de agregar el cambio, y los archivos se sientan en silencio en el proyecto y a permanecer fuera de TFS.

    La otra manera es con el Agregar Elementos a la Carpeta de comandos de Control de código Fuente Explorer. De esta forma se inicia un pequeño asistente, y en uno de los pasos que usted puede seleccionar los elementos a excluir (aunque, creo que tienes que añadir al menos un elemento de a TFS con este método para el asistente de permitir que continúe).

    Usted puede incluso agregar una prohibido a los patrones de la política de registro (en Equipo -> Configuración de Proyecto de Equipo -> Control de código Fuente… -> Política de registro) para no permitir que otras personas en el equipo por error en la comprobación de ciertos activos.

    • No me han prohibido los patrones de la política. Respuesta a una una pregunta relacionada con la revela dónde conseguirlo. Al parecer es parte de la TFS Power Tools.
    • Estoy frente a un problema similar, puede proporcionar más detalle en una carpeta en particular no checkin la utilización de Check-in de la Política
    • Whoops – tienes razón, Leif. Es parte de la TFS Power Tools.
    • Imran, por desgracia, me cambié puestos de trabajo, y ya no uso TFS y no tengo acceso a mis proyectos anteriores, así que no estoy seguro acerca de la sintaxis para el uso de los patrones de check-in de la política de sintaxis. Tal vez esta pregunta ayuda? stackoverflow.com/questions/2741412/…
    • TFS 2010 Después de elegir los archivos a incluir, usted puede excluir de la lista. No se puede tocar los archivos existentes…
    • Estoy totalmente de acuerdo. 🙂

  4. 45

    Para TFS 2013:

    Inicio en VisualStudio-Team Explorer, en el PendingChanges de Diálogo deshacer los Cambios que se hicieron en el estado [agregar], que debe ser ignorado.

    Visual Studio detectará el Complemento(s) de nuevo. Haga clic En «Detectado: x suma(s)»-en Excluidos los Cambios de

    Abierta «Promover Cadidate Cambios»del cuadro de Diálogo de fácil puede excluir Archivos y Carpetas con el Contextmenu. Las opciones son:

    • Ignorar este elemento
    • Ignorar por extensión
    • Ignorar por nombre de archivo
    • Ignorar por ffolder (sí ffolder, TFS 2013 Update 4/Visual Studio 2013 Premium Actualización 4)

    No se olvide de Comprobar el cambio En el .tfignore-Archivo.

    Para VS 2015/2017:

    El mismo procedimiento:
    En la «Excluidos los Cambios de la Ficha» en TeamExplorer\Cambios Pendientes
    haga clic en Detectadas: xxx agregar(s)

    Cómo ignorar los archivos/directorios en TFS para evitar que ellos vayan a la fuente central del repositorio?

    El «Promover el Candidato Cambios» abre el cuadro de Diálogo, y en las entradas que usted puede hacer Clic Derecho en el Contextmenu. Errata es fijo ahora 🙂

    • Parece que no puede encontrar esa opción. Estoy en VS DE 2015 RC.
    • esto sólo funcionará si usted está trabajando con un espacio de trabajo local, como se describe en detalle, aquí: msdn.microsoft.com/library/vstudio/…
    • El procedimiento en el VS DE 2015 RC es el mismo, con el mismo error tipográfico. Ver mi Respuesta actualizada. Pero como stvn señala .tfignore sólo funciona con áreas de trabajo locales. Para servidor-los espacios de trabajo que tiene que deshacer el Incluir en la espera de Confirmaciones, véase la respuesta aquí: stackoverflow.com/questions/21887308/…
    • Está conectado a TFS-Server 2015? Asegúrese de que usted comienza con Team Explorer en VS
    • Estoy bastante seguro de que, cuando la pregunta se formuló en primer lugar, no fue posible la gui manera. Pero ahora, esta es la respuesta que yo iba a elegir. Gracias por los créditos!
  5. 5

    He encontrado la manera perfecta para Ignorar los archivos en TFS como SVN hace.

    Primero, seleccione el archivo que desea ignorar (por ejemplo, la Web.config).

    Ahora vaya a la pestaña de menú y seleccione:

    Archivo de Fuente de control > Avanzado > Excluir de la web.de configuración de control de código fuente

    … y boom; el archivo está permanentemente excluidos de la fuente de control.

    • este es trabajo para mí en TFS 2010 para el código de los archivos generados. THX!
    • Esto funciona en realidad, la .tfignore no funciona para mí. Un millón de gracias
    • Yo no tengo esta opción en el VS de 2018
  6. 4

    Voy a asumir que usted está utilizando el Sitio Web de los Proyectos. Estos rastrear automáticamente su directorio de proyecto y tirar todo lo que en el control de código fuente. No hay manera de detenerlos.

    Sin embargo, no se desespere. Proyectos de Aplicación Web no presentan este extraño y bastante inesperado (en mi humilde opinión: idiotas) de la conducta. WAP es un addon para VS2005 y viene directo con VS2008.

    Como una alternativa a la evolución de sus proyectos para WAP, considere la posibilidad de mover la carpeta de recursos de fuera del control de Origen y en un TFS de la Biblioteca de Documentos. Sólo haga esto SI el proyecto en sí no se usan directamente los activos de los archivos.

    • sí, tu suposición es correcta. Pensé que sería el caso, sólo quería estar doblemente seguro de que no se pierda nada.

Dejar respuesta

Please enter your comment!
Please enter your name here