Как сделать так, чтобы TFS 2010 обнаруживал изменения, сделанные в файлах вне Visual Studio? - PullRequest
115 голосов
/ 05 мая 2011

Я использую Team Foundation Server 2010 с Visual Studio 2010.

Всякий раз, когда я изменяю файл вне Visual Studio, TFS, похоже, не обнаруживает изменения, внесенные в файл, и поэтому не 'Не предлагайте мне вернуть файл после его изменения.

Как это можно решить?

Ответы [ 10 ]

149 голосов
/ 04 апреля 2014

TFS имеет команду «Reconcile» для этого:

  1. Откройте Source Control Explorer
  2. Щелкните правой кнопкой мыши папку с изменениями и выберите Сравнить
  3. Выберите файлы, которые вы хотите согласовать (нажмите CTRL + A , чтобы выбрать все файлы)
  4. Нажмите накнопка Согласовать
  5. Задайте параметры в диалоговом окне Согласовать различия папок .Убедитесь, что Файлы без ожидающих изменений установлены на Извлечь
  6. Нажмите OK
  7. Если у вас есть локальныйизменяет диалоговое окно Check Out .Установите предпочтительный тип блокировки
  8. Нажмите Выезд

Reconcile Folder Differences

См. Также: Согласовать различия между папками

47 голосов
/ 05 мая 2011

Если у вас есть сетевое подключение к вашему серверу, когда вы работаете вне Visual Studio, вероятно, лучше всего проверить и проверить файл перед его редактированием, используя клиент командной строки tf или проводник Windows. интеграция оболочки, доступная в выпуске TFS Power Tools . (Кроме того, все большее число других инструментов имеют интеграцию с TFS, которая делает это автоматическим, но если вы просто используете блокнот, это все равно необходимо выполнить вручную.)

Конечно, во многих случаях вы работаете, и у вас нет доступного сетевого подключения, позволяющего проверить файлы.

Если вы знаете, какие файлы вы изменили, вы можете просто проверить их в Visual Studio, а затем сможете вернуть их обратно.

Если вы не знаете, какие файлы вы редактировали, вы можете обнаружить изменения, запустив команду tfpt online (также часть выпуска Power Tools). Это позволит найти файлы, которые были изменены локально и проверить эти файлы с сервера.

35 голосов
/ 13 сентября 2012

Это сработало для меня, используя TFS Power Tools:

tfpt online /adds /deletes /diff /noprompt /recursive directory-name

(где directory-name - путь к каталогу, который нужно обновить, иначе он будет обнаруживать изменения во всем вашем хранилище TFS)

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

14 голосов
/ 27 января 2012
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*

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

Рекомендую создать ветку перед операцией.Он изолирует время операции.

Примечание. Этот метод также выполняет очистку файлов, идентичную той, что TFS всегда помечает как измененную.

7 голосов
/ 05 мая 2011

Попробуй это.Это своего рода обходной путь, но он работает:

  1. внести изменения вне Visual Studio
  2. , перейдите в Visual Studio и откройте проводник управления источниками
  3. , щелкните правой кнопкой мыши напапка> «Выписка для редактирования» > «Выписка»
  4. щелкните правой кнопкой мыши ту же папку> «Отменить ожидающие изменения ...» > "Отменить изменения" > " Нет на все "

Вот и все.Изменения видны сейчас.

4 голосов
/ 09 сентября 2012

Существует также другое решение, позволяющее TFS определять файлы, которые изменились за пределами Visual Studio:

  1. Открыть решение в автономном режиме
  2. В обозревателе решений выберите файл решения и нажмите кнопку «Перейти в онлайн» (GoOnline Button Icon)

TFS автоматически просканирует решение на наличие изменений после этого.

Шаг первый может быть достигнут разными способами. Вот некоторые из них:

  • Используйте расширение GoOffline - очень просто и эффективно.
  • Если при открытии решения запрашиваются учетные данные TFS (без автоматической проверки домена), не вводите учетные данные. Решение откроется в автономном режиме и вы войдете в систему после нажатия кнопки «Перейти в онлайн»
  • (экстремальное решение) Отключите сетевой кабель; Откройте решение; Подключите сетевой кабель.
3 голосов
/ 05 мая 2011

Visual Sourcesafe работает так же, и я получаю VSS или TFS, чтобы заметить изменение, проверяя файл один раз в Visual Studio.

1 голос
/ 23 июля 2015

У меня была эта проблема в прошлом, когда у меня не работал интернет, и я работал в автономном режиме, и большинство моих изменений не появилось в Team Explorer.

Выполните следующие действия: Во-первых, в обозревателе решений выберите папку, которую вы хотите повторно согласовать (для меня это была вся моя папка решения), и выберите Сравнить ... enter image description here Нажмите Изменить фильтр , и в текстовом поле фильтр вы можете ввести:

*.cs;!obj\;!bin\;!packages\;

В этом примере он будет включать в поиск только файлы C # и исключать из папок: bin, obj и packages.

Обратите внимание на столбец Ожидающие изменения содержит информацию о том, помечен ли файл как редактирование, добавление и т. Д ... или ничего ...

  • Чтобы пометить как edit (когда локальный элемент имеет соответствующий элемент сервера), выберите файл и выберите Check for Edit ...
  • Чтобы пометить как добавить (если у локального элемента нет элемента сервера), выберите файл и выберите Добавить файлы

Наконец, я не уверен, почему проекты не перечислены здесь (после удаления фильтра * .cs по-прежнему не отображается), поэтому перестройте решение, чтобы убедиться, что проекты также обновляются

+ В решении нажмите кнопку подключения (если она появится) с надписью Перейти в онлайн .

1 голос
/ 11 июля 2013

Откройте Source Control и перейдите в свою папку TFS. Щелкните правой кнопкой мыши папку и выберите «Сравнить».

Обратите внимание, что отредактированные файлы отображаются отмеченными красным.

Я считаю, что это лучше, чем tfpt online, который также получает файлы, которые не только для чтения и не редактируются.

0 голосов
/ 15 ноября 2016

Я обнаружил, что в Visual Studio 2015, с открытым проектом, Visual Studio обнаружила для себя, что файлы были изменены внешне, и автоматически проверила их без необходимости что-либо делать. Проверка в проекте обычным способом сохранила внешние модификации.

...