У нас есть несколько файлов конфигурации (app.DEV.config, app.TEST.config и т. Д.) И событие перед сборкой, которое копирует правильный файл конфигурации в app.config. Очевидно, что конкретные файлы конфигурации находятся в системе управления версиями, но на данный момент это App.Config, а этого быть не должно.
Как я могу пометить этот один файл как исключенный из системы контроля версий, но явно не из проекта.
Я использую VS 2005 и 2005 Team Explorer.
Ответы:
В MS Power Tools существует политика регистрации (политика запрещенных шаблонов), которая позволяет сравнивать имена файлов с регулярным выражением. См .: Инструменты Microsoft Team Foundation Server Power Tools
Хотя политики регистрации не являются полностью надежными, они ближе всего к TFS для обеспечения соблюдения определенных пользователем правил, подобных тем, что вы ищете.
(И, как говорили другие, вы также можете замаскировать файл или папку, что означает, что он остается в системе контроля версий и виден всем остальным в команде, но он не копируется на ваш компьютер, пока вы не решите его раскрыть; или вы может удалить файл, что означает, что он будет удален со всех ПК, когда они станут последней, но ни один из этих параметров не предотвратит добавление таких файлов в систему управления версиями в первую очередь)
источник
В TFS2012 это просто, создать файл .tfignore
http://msdn.microsoft.com/en-us/library/tfs/ms245454%28v=vs.110%29.aspx#tfignore
источник
Выберите файл App.config в обозревателе решений и выберите «Файл» -> «Контроль версий» -> «Исключить App.config из системы контроля версий».
источник
Есть вариант, который сложно найти:
1. Выберите файл или несколько файлов в обозревателе решений.
2. Перейдите в Файл -> Управление версиями -> Дополнительно.
и вот это
Имейте в виду: если вы щелкните правой кнопкой мыши файл в обозревателе решений, вы обнаружите только «самые важные параметры», а не все :)
источник
Если все, что вам нужно, это иметь файл в проекте, но не в системе управления версиями с TFS, просто войдите в SourceControl, удалите указанный файл и отмените извлечение файла проекта (он попытается удалить файл из проекта как Что ж). Затем отметьте удаление файла, который вы исключаете. В обозревателе решений вы должны увидеть, что рядом с исключаемым файлом нет значка управления версиями. В файле проекта должен быть указан файл, но теперь этот файл больше не находится в системе контроля версий.
Имейте в виду, что любой другой человек теперь увидит отсутствующий файл в проекте, когда получит последнюю версию.
источник
TFS позволяет выполнять маскировку на уровне папки / файла. Когда что-то замаскировано, TFS не будет пытаться синхронизировать это (как svn: ignore).
При настройке рабочего пространства маскируйте все, что вы хотите, чтобы TFS игнорировала. Более подробные инструкции здесь .
источник
Это сработало для меня:
Один из способов - добавить новый или существующий элемент в проект (например, щелкнуть проект правой кнопкой мыши, добавить существующий элемент или перетащить из проводника Windows в проводник решений), позволить TFS обработать файл (ы) или папку, а затем отменить отложенное выполнение. изменения в элементе (ах). TFS снимет с них отметку об ожидающих изменениях добавления, и файлы будут спокойно находиться в проекте и останутся вне TFS.
Источник: = "> Как мне исключить определенные файлы из системы контроля версий TFS
источник
Visual Studio 2013 (и 2012)
Эта функция доступна, если выбрать файл (ы) и перейти к:
источник
Этот вопрос был задан некоторое время назад, но он относится к той же проблеме, что и я.
Проблема:
Причина:
Пример события сборки:
Выше нам просто нужно переместить файл из нашего целевого пути сборки (папки bin \ debug или bin \ release) в нашу папку проекта. В моей ситуации это было сделано для того, чтобы я мог включить файлы, созданные для проекта, в свой установщик. Мой установщик не получал их как часть вывода проекта.
Исправление: (чуть не ударил себя по лицу, когда понял это)
Новое событие сборки:
Мы все развлекаемся с Build Events, верно? Выше я просто делаю 2 вещи, я удаляю атрибут только для чтения, теперь файлы не только для чтения. Скопируйте мой файл, как я изначально хотел. Затем замените атрибут только для чтения (я полагаю, необязательно), чтобы Visual Studio и Team Foundations остались довольны.
И да ... Я все еще бью себя по этому поводу.
источник
У меня аналогичная проблема, мой App.config содержал разумные данные (например, имя пользователя), которые не должны синхронизироваться с TFS.
В статье Рекомендации по развертыванию паролей и других конфиденциальных данных в ASP.NET и Службе приложений Azure описывается хороший подход к предотвращению этой проблемы:
Используйте атрибут «file» элемента «appSettings» для ссылки на файл конфигурации, который не добавлен в систему управления версиями.
источник
Если у вас более старая версия, чем TFS2012, и поэтому вы не можете создать
.tfignore
файл или использовать этуFile > Source Control > Advanced > Exclude …
опцию, вы можете попробовать следующее:Теперь кажется, что TFS игнорирует изменения в целевом файле. Если вам нужно отредактировать файл снова, не используйте Visual Studio, так как TFS затем вернет файл в список файлов с ожидающими изменениями.
источник
Вы можете просто выбрать файл в проводнике управления исходным кодом и щелкнуть по нему правой кнопкой мыши, выбрать оттуда опцию «Переименовать» и добавить «.exclude» в конце имени файла.
А затем не забудьте вернуть файл, и после этого вы увидите, что ваш файл исключен из системы контроля версий.
источник