Удалить локальную папку в TFS

128

Я являюсь частью большого проекта, отображаемого из TFS, в этом проекте есть папка, над которой я закончил. Мне больше не нужна эта папка, поэтому я хочу удалить свою локальную копию. Проблема в том, что TFS хочет отразить изменение и удалить папку из системы управления версиями, я не хочу удалять ее из TFS.

Единственный способ, которым я могу это сделать, - это отключить рабочую область, а затем пройти и получить все остальные папки, над которыми мне нужно работать.

Есть ли способ просто удалить эту папку локально?

Джеймс Баррасс
источник
Можете ли вы предоставить дополнительную информацию, например, какую версию TFS и какую версию Visual Studio вы используете? Вы используете сервер или локальные рабочие области?
Джеймс Рид
@JamesReed VS2008 с патчем совместимости, VS2010 и VS2012. TFS 2012. Локальные рабочие области (отдельные рабочие области для каждой версии визуальной студии)
Джеймс Баррасс

Ответы:

278

Это более старый пост, но поскольку единственный данный ответ кажется мне «не совсем правильным», я все равно хотел бы ответить: я писал об этом (на немецком языке) здесь: blog.nils-andresen.de

Если у вас есть локальная копия, которую вы хотите разгрузить или разгрузить следующим образом:

введите описание изображения здесь

просто щелкните папку правой кнопкой мыши, затем нажмите «Получить определенную версию» или «Дополнительно> Получить определенную версию» и укажите набор изменений 1 .

Вот почему из главных советов Мартина Вудворда по TFS :

... если вы выполните "Получить определенную версию ..." для файлов и выберите Набор изменений 1, файлы будут удалены локально, и сервер узнает об этом. Цвет файла в проводнике системы управления версиями изменится с черного на серый, а в последнем столбце будет отображаться фраза «Не загружено».

Набор изменений 1 - это специальный набор изменений в вашем экземпляре Team Foundation Server. Он был создан как часть процедуры установки и содержит только один элемент - корневой узел ($ /) в вашем дереве управления версиями. Если вы выполните получение набора изменений 1 для каких-либо фактических файлов, тогда они не будут существовать в данный момент в системе, поэтому будут удалены локально, и сервер будет об этом знать.

Получить конкретную версию - диалог

По завершении процесса в столбце «Последние» будет указано «не загружено».

введите описание изображения здесь

После этого все оставшиеся файлы в файловой системе можно безопасно удалить.

Nils
источник
5
Маскировка работала довольно хорошо, но этот метод у меня был больше, и он проще.
Нельсон Ротермел
5
Я предпочитаю этот подход. Это не требует от меня помнить о «маскировке» и «активации» в будущем, когда мне снова может понадобиться этот проект. Я могу просто получить последнюю версию, и все готово.
необнаружен
6
Похоже на хороший взлом. Почему MS не создает интуитивно понятные пользовательские интерфейсы? вроде простой команды «Удалить локальную копию» и моей любимой «Дополнительно> Получить конкретную версию». С каких это пор "Получить конкретную версию" - продвинутая вещь? у них должны быть супер-глупые разработчики, если для них это продвинутый уровень. В любом случае, спасибо за этот ответ (я терпеть не могу TFS [svn / git user here])
Павел Чох
4
Это также работает, если вы уже удалили локальную папку и пытаетесь навести порядок в наведенном вами беспорядке.
Hutch
2
Эквивалент командной строки: tf vc get <itemspec> / version: c1 / recursive / overwrite / force
Brain2000
8

Вы можете скрыть папку в своем локальном рабочем пространстве.

Установив статус рабочей папки на Cloaked, вы можете указать, что локальная папка не должна копировать файлы с сервера при выполнении операции Get. Вы можете сделать это для экономии места на локальном диске. Если позже вы решите, что вам нужно получить файлы в этих замаскированных папках, вы должны изменить статус на Активный, а затем выполнить операцию Получить.

Эрик Джонсон
источник
4
Просто чтобы добавить к этому. Чтобы вернуться в исходное состояние Mapped, но без получения (серый в проводнике управления версиями), удалите все, что осталось от маскировки, а затем разблокируйте. TFS спросит, хотите ли вы выполнить получение сейчас. Щелкните нет.
Джеймс Баррасс
5
Я пошел с маскировкой вместо разгрузки. Я привык выполнять «Получить последнюю версию» на верхнем уровне, и при этом маскировка предотвращает повторную загрузку определенных папок.
Руди