Comment ignorer les fichiers / répertoires dans TFS pour les éviter d'aller dans un dépôt source central?

est-il possible de configurer des fichiers/dossiers à ignorer par projet dans le contrôle à la source de TFS?

par exemple, j'ai un site Web avec un dossier actif que je ne veux pas aller dans le contrôle source. Ces biens sont maintenus par un système distinct. En outre, Je ne veux pas mettre plusieurs gigaoctets de ressources dans le contrôle source, mais j'ai besoin de quelques échantillons sur ma machine de développement, mais je ne veux pas vérifier ceux dans l'un ou l'autre.

si je travaille sur ce site Web tout en étant lié au contrôle des sources et je rafraîchis l'arbre, ces fichiers seront automatiquement ajoutés à nouveau

je veux empêcher que cela se produise.

220
tfs
demandé sur sergiol 2009-05-28 23:39:20

6 réponses

pour VS2015 et VS2017

fonctionne avec TFS (on-prem) ou VSO (Visual Studio Online - l'offre hébergée par Azure)

la documentation NuGet fournit des instructions sur la façon d'accomplir ce et je viens de les suivre avec succès pour Visual Studio 2015 & Visual Studio 2017 contre VSTS (Azure-hosted TFS). Tout est entièrement mis à jour à partir de Nov 2016 août 2018.

je vous recommande de suivre les instructions de NuGet, mais juste pour récapituler ce que j'ai fait:

  1. assurez-vous que votre dossier packages n'est pas réservé à TFS. S'il en est, de le sortir de là.
  2. tout ce que nous créons ci-dessous va dans le même dossier que votre fichier .sln , sauf indication contraire (les instructions de NuGet ne sont pas complètement claires à ce sujet).
  3. crée un dossier .nuget . Vous pouvez utilisez Windows Explorer pour l'appeler .nuget. pour qu'il puisse enregistrer avec succès sous .nuget (il supprime automatiquement la dernière période), mais en essayant directement de l'appeler .nuget peut ne pas fonctionner (vous pouvez obtenir une erreur ou il peut changer le nom, en fonction de votre version de Windows).
  4. à l'intérieur de ce dossier, créez un fichier NuGet.config et ajoutez le contenu suivant et enregistrez-le:

NuGet.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
</configuration>
  1. retournez dans votre dossier .sln et créez un nouveau fichier texte et nommez-le .tfignore (si vous utilisez Windows Explorer, utilisez la même astuce que ci-dessus et nommez-le .tfignore. )
  2. mettez le contenu suivant dans ce fichier:

.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. Enregistrer tous les de ce, de l'envoyer à la TSF, puis fermez & ré-ouvrez Visual Studio et L'Explorateur D'équipe ne doit plus identifier le dossier packages comme un check-in en attente.
  2. copier / coller via Windows Explorer le fichier .tfignore et le dossier .nuget à toutes mes différentes solutions et je les ai engagés et je n'ai plus le dossier packages essayer de se faufiler dans mon contrôle source repo!

Nouvelle Personnalisation

bien que ce ne soit pas le mien, j'ai trouvé ce .tfignore modèle par sirkirby pour être à portée de main. L'exemple dans ma réponse couvre le dossier Nuget packages mais ce modèle inclut d'autres choses ainsi que fournit des exemples supplémentaires qui peuvent être utiles si vous souhaitez personnaliser cette suite.

62
répondu Jaxidian 2018-08-10 19:25:13

si vous utilisez des espaces de travail locaux (TFS 2012+), vous pouvez maintenant utiliser le fichier .tfignore pour exclure les dossiers et les fichiers locaux d'être enregistrés.

si vous ajoutez ce fichier au contrôle source, vous pouvez vous assurer que d'autres membres de votre équipe partagent les mêmes paramètres d'exclusion.

informations complètes sur MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore

pour les paresseux:

vous pouvez configurer quels types de fichiers sont ignorés en plaçant un texte fichier appelé .tfignore dans le dossier où vous souhaitez règles à appliquer. Le les effets du fichier .tfignore sont récurrents. Toutefois, vous pouvez créer .tfignore les fichiers dans les sous-dossiers pour outrepasser les effets d'un .tfignore fichier dans un dossier parent.

Les règles suivantes s'appliquent à un .dossier tfignore:

  • # commence une ligne de commentaire
  • * et ? les caractères génériques sont supportés.
  • un filespec est récursif sauf s'il est préfixé par le caractère\.
  • ! nie un filespec (les fichiers qui correspondent au modèle ne sont pas ignorés)

exemple de fichier:

# 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
159
répondu Richard Banks 2014-01-13 22:07:32

It does semblent un peu encombrants pour ignorer les fichiers (et dossiers) dans le serveur de la fondation de L'équipe. J'ai trouvé quelques façons de le faire (en utilisant TFS / Team Explorer / Visual Studio 2008). Ces méthodes fonctionnent aussi avec le type de projet ASP du site web.

une façon est d'ajouter un élément nouveau ou existant à un projet (par exemple clic droit sur le Projet, Ajouter L'élément existant ou glisser-déposer de Windows explorer dans la Solution explorer), laisser TFS traiter le fichier(s) ou dossier, puis annuler les changements en attente sur le (s) Point (S). TFS va les dé-marquer comme ayant un add en attente de changement, et les fichiers vont s'asseoir tranquillement dans le projet et rester en dehors de TFS.

une autre façon est D'ajouter des éléments à la commande Folder de L'Explorateur de contrôle Source. Cette lance un petit assistant, et sur l'une des étapes, vous pouvez sélectionner les éléments à exclure (même si je pense que vous devez ajouter au moins un élément à TFS avec cette méthode pour l'assistant pour vous permettre de continuer).

vous pouvez même ajouter une politique d'enregistrement des motifs interdits (sous Team- > paramètres du projet Team - > contrôle des sources... - >Politique d'enregistrement) pour interdire aux autres membres de l'équipe de vérifier par erreur certains biens.

70
répondu Derek Morrison 2009-12-21 09:54:16

pour TFS 2013 :

Start in VisualStudio - Team Explorer , dans le dialogue PendingChanges défaire les changements avec l'état [add], qui doivent être ignorés.

Visual Studio détectera à nouveau L'Add(s). Cliquez sur "détecté: x ajouter (s) " - dans changements exclus

in the open" Promote Cadidate Changements " - dialogue vous pouvez facilement exclure des dossiers et des dossiers avec le Contextmenu. Les Options sont:

  • ignorer cet article
  • ignorer par extension
  • ignorer par nom de fichier
  • Ignorer par ffolder (oui ffolder, TFS 2013 mise à Jour 4/Visual Studio 2013 Premium mise à Jour 4)

N'oubliez pas d'Enregistrer le changement .tfignore-File.

pour VS 2015/2017 :

la même procédure: Dans L'onglet" Modifications exclues " de TeamExplorer\modifications en attente ajouter (s)

The Excluded Changes Tab in TeamExplorer\Pending Changes

le dialogue "promouvoir les changements de candidat" s'ouvre, et sur les entrées Vous pouvez Droit-Cliquer pour le Contextmenu. Faute de frappe est fixé maintenant :-)

44
répondu gReX 2017-07-18 10:12:09

je vais supposer que vous utilisez des projets de Site web. Ceux-ci rampent automatiquement leur répertoire de projet et tout jeter dans le contrôle source. Il n'y a aucun moyen de les arrêter.

Cependant, ne désespérez pas. Les projets D'Application Web ne présentent pas ce comportement étrange et plutôt inattendu (imho: moronic). WAP est un addon pour VS2005 et est livré directement avec VS2008.

comme alternative au changement de vos projets en WAP, vous pourriez envisagez de déplacer le dossier de biens hors du contrôle de Source et dans une bibliothèque de documents TFS. Ce n'est que si le projet lui-même n'utilise pas directement les fichiers d'actifs.

4
répondu NotMe 2009-05-28 22:55:03

j'ai trouvé le moyen parfait d'ignorer les fichiers dans TFS comme SVN le fait.

Tout d'abord, sélectionnez le fichier que vous voulez ignorer (par exemple le Web.config).

Maintenant, allez dans l'onglet menu et sélectionnez:

contrôle des sources des fichiers > avancé > exclure web.configuration de la source de contrôle

... et boom; votre dossier est en permanence exclu du contrôle à la source.

4
répondu Bharat 2017-07-13 12:01:51