Можно ли настроить файлы / папки, которые будут игнорироваться для каждого проекта в системе контроля версий TFS?
Например, у меня есть веб-сайт с папкой ресурсов, в которую я не хочу входить в систему контроля версий. Эти активы поддерживаются отдельной системой. Кроме того, я не хочу помещать несколько гигабайт ресурсов в систему управления версиями, но мне нужно пару примеров на моей машине разработчика, но я не хочу проверять их.
Если я работаю над этим веб-сайтом, когда привязан к управлению исходным кодом, и обновляю дерево, эти файлы будут автоматически добавляться снова
Я хочу предотвратить это.
Ответы:
Для VS2015 и VS2017
Работает с TFS (локально) или VSO (Visual Studio Online - предложение, размещенное на Azure)
Документация NuGet содержит инструкции о том, как этого добиться, и я только что успешно следовал им в Visual Studio 2015 и Visual Studio 2017 против VSTS (TFS, размещенной в Azure). Все полностью обновлено по состоянию на
ноябрь 2016 г.Август 2018 г.Я рекомендую вам следовать инструкциям NuGet, но просто чтобы напомнить, что я сделал:
packages
папка не привязана к TFS. Если это так, вытащи это оттуда..sln
файл, если не указано иное (инструкции NuGet не совсем ясны по этому поводу)..nuget
папку. Вы можете использовать Windows Explorer, чтобы присвоить ему имя,.nuget.
чтобы он успешно сохранялся как.nuget
(он автоматически удаляет последний период), но прямая попытка присвоить ему имя.nuget
может не сработать (вы можете получить сообщение об ошибке или изменить имя в зависимости от вашей версии Windows. ). Или назовите каталог nuget и откройте родительский каталог в командной строке. тип. ren nuget .nugetNuGet.config
файл, добавьте следующее содержимое и сохраните его:NuGet.config:
.sln
папку и создайте новый текстовый файл и назовите его.tfignore
(если вы используете Windows Explorer, используйте тот же прием, что и выше, и назовите его.tfignore.
).tfignore:
.tfignore
файл и.nuget
папку во все мои различные решения и зафиксируйте их, и у меня больше нетpackages
папки, пытающейся проникнуть в мое хранилище с контролем исходного кода!Дальнейшая настройка
Хотя это не мое, я нашел этот
.tfignore
шаблон Sirkirby, чтобы быть полезным. Пример в моем ответе охватываетpackages
папку Nuget, но этот шаблон включает в себя некоторые другие вещи, а также предоставляет дополнительные примеры, которые могут быть полезны, если вы хотите настроить это дальше.источник
Если вы используете локальные рабочие пространства (TFS 2012+), теперь вы можете использовать этот
.tfignore
файл, чтобы исключить проверку локальных папок и файлов.Если вы добавите этот файл в систему контроля версий, вы сможете гарантировать, что другие члены вашей команды будут использовать те же настройки исключения.
Полная информация о MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore
Для ленивых:
Пример файла:
источник
.tfignore
поэтому я создал.tfignore.
и сам удалил последнюю точку ...tfignore
файл из-за отсутствия правильного имени, вы можете создать его или переименовать через окно командной строки.Это действительно кажется , немного громоздким , чтобы игнорировать файлы (и папки) в Team Foundation Server. Я нашел несколько способов сделать это (используя TFS / Team Explorer / Visual Studio 2008). Эти методы также работают с типом проекта ASP веб-сайта.
Один из способов - добавить новый или существующий элемент в проект (например, щелкнуть правой кнопкой мыши по проекту, добавить существующий элемент или перетащить из проводника Windows в обозреватель решений), позволить TFS обработать файл (ы) или папку, а затем отменить ожидание изменения на элемент (ы). TFS будет помечать их как ожидающие добавления, и файлы будут тихо храниться в проекте и оставаться вне TFS.
Другой способ - с помощью команды «Добавить элементы в папку» в Source Control Explorer. Это запускает небольшой мастер, и на одном из шагов вы можете выбрать элементы для исключения (хотя, я думаю, вам нужно добавить хотя бы один элемент в TFS с помощью этого метода, чтобы мастер продолжил работу).
Вы даже можете добавить политику регистрации запрещенных шаблонов (в разделе «Команда» -> «Параметры командного проекта» -> «Управление исходным кодом» -> «Политика регистрации»), чтобы запретить другим членам команды ошибочно проверять определенные активы.
источник
Для TFS 2013 :
Запустите в VisualStudio Team Explorer , в диалоге PendingChanges отмените Изменения с состоянием [add], которое следует игнорировать.
Visual Studio снова обнаружит Add (s). Нажмите «Обнаружено: x add (s)» - в исключенных изменениях
В открывшемся диалоговом окне «Содействие изменениям в кадидате» Вы можете легко исключить файлы и папки с помощью контекстного меню. Варианты:
Не забудьте зарегистрировать измененный файл .tfignore.
Для VS 2015/2017 :
Та же процедура: во вкладке «Исключенные изменения» в TeamExplorer \ Pending Changes нажмите Обнаружено: xxx add (s)
Откроется диалоговое окно «Содействие изменениям кандидата», и в записях можно щелкнуть правой кнопкой мыши контекстное меню. Опечатка теперь исправлена :-)
источник
Я нашел идеальный способ игнорировать файлы в TFS, как это делает SVN.
Прежде всего, выберите файл, который вы хотите игнорировать (например, Web.config).
Теперь перейдите на вкладку меню и выберите:
... и бум; Ваш файл навсегда исключен из системы контроля версий.
источник
Я собираюсь предположить, что вы используете проекты веб-сайта. Они автоматически сканируют каталог своего проекта и отправляют все в систему контроля версий. Там нет никакого способа, чтобы остановить их.
Однако не отчаивайтесь. Проекты веб-приложений не демонстрируют этого странного и довольно неожиданного (imho: дебильного) поведения. WAP является дополнением для VS2005 и поставляется с VS2008.
В качестве альтернативы изменению ваших проектов на WAP вы можете рассмотреть возможность перемещения папки «Активы» из системы управления исходным кодом в библиотеку документов TFS. Делайте это только в том случае, если сам проект не использует файлы ресурсов напрямую.
источник