Как игнорировать файлы / каталоги в TFS, чтобы они не попадали в центральный исходный репозиторий?

Для VS2015 и VS2017

Работает с TFS (локально) или VSO (Visual Studio Online - предложение, размещенное в Azure)

В документации NuGet есть team-foundation-server instructions on how to accomplish this, и я только что успешно team-foundation следил за ними для Visual team-foundation-server Studio 2015 и Visual Studio team-foundation 2017 против VSTS (TFS, размещенная team-foundation-server в Azure). Все полностью обновлено team-foundation-server по состоянию на ноя 2016 августа team-foundation 2018.

Я рекомендую вам следовать team-foundation-server инструкциям NuGet, но просто team-foundation повторить то, что я сделал:

  1. Убедитесь, что ваша папка packages не привязана к TFS. Если это так, уберите его оттуда.
  2. Все остальное, что мы создаем ниже, попадает в ту же папку, в которой существует ваш файл .sln, если не указано иное (инструкции NuGet по этому поводу не совсем ясны).
  3. Создайте папку .nuget. Вы можете использовать проводник Windows, чтобы назвать его .nuget., чтобы он успешно сохранился как .nuget (он автоматически удаляет последний период), но попытка напрямую назвать его .nuget может не работать (вы можете получить ошибку или он может измениться название, в зависимости от вашей версии Windows). Или назовите каталог nuget и откройте родительский каталог в командной строке. тип. Ren nuget .nuget
  4. Внутри этой папки создайте файл NuGet.config, добавьте следующее содержимое и сохраните его:

NuGet.config:



    
        
    

  1. Вернитесь в папку .sln и создайте новый текстовый файл и назовите его .tfignore (при использовании проводника Windows используйте тот же трюк, что и выше, и назовите его .tfignore.)
  2. Поместите в этот файл следующее содержание:

.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. Сохраните все это, зафиксируйте в TFS, затем закройте и снова откройте Visual Studio, и Team Explorer больше не должен идентифицировать папку пакетов как ожидающую возврата.
  2. Скопируйте / вставьте через проводник Windows файл .tfignore и папку .nuget во все мои различные решения и зафиксируйте их, и у меня больше нет папки packages, пытающейся проникнуть в мой репозиторий системы управления версиями!

Дальнейшая настройка

this .tfignore template by sirkirby, хотя tfs и не мой, мне очень пригодился. Пример team-foundation-server в моем ответе касается папки team-foundation Nuget packages, но этот шаблон включает team-foundation в себя некоторые другие вещи, а tfs также предоставляет дополнительные team-foundation примеры, которые могут быть team-foundation полезны, если вы хотите настроить tfs это дальше.

tfs

2022-09-09T15:22:22+00:00
Вопросы с похожей тематикой, как у вопроса:

Как игнорировать файлы / каталоги в TFS, чтобы они не попадали в центральный исходный репозиторий?