2010-02-16 3 views
41

Я работаю над одним подмодулем большого проекта, для которого используется VSTS 2008.Как откат в Visual Studio TFS?

У меня есть необходимость откат модуля до более ранней версии (около 4 проверок предыдущего). Я попытался сделать это в пользовательском интерфейсе Visual Studio и, наконец, понял , нет возможности отката.

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

Может ли кто-нибудь описать шаг за шагом, как откат к предыдущей версии в VS2008? (Использование электроинструментов или иное).

Бонусный вопрос - кто-нибудь знает, можем ли мы получить более надежную поддержку отката в VS2010?

+1

Поскольку этот вопрос появляется в Google, когда спрашивает о откате в TFS, я просто хотел добавить, что в TFS 2012 это стало намного проще. См. Мой ответ для получения дополнительной информации. –

ответ

35

Щелкните правой кнопкой мыши по папке в проводнике исходного кода. Выберите «Получить конкретную версию». Выберите версию, которую вы хотите получить (с помощью набора изменений, даты, метки и т. Д.).

EDIT: В этот момент ваша местная версия будет той версией, которую вы хотите. Проверьте измененные файлы, а затем проверьте их обратно. Это приведет к созданию мастера слияния, и, вероятно, он будет жаловаться на то, как у сервера более новая версия, чем у вас. Пройдите через мастер и объедините файлы так, как вы хотите их (один из вариантов - отменить изменения сервера, что и похоже на то, что вам нравится). В конце этого процесса он может сказать вам, что файлы не были проверены из-за процесса слияния (или что-то в этом роде), просто нажмите «ОК», а затем снова зайдите. Это должно выполнить то, что вам нужно.

+0

Я считаю, что это позволяет мне увидеть версию, которую я хочу, но как я могу сказать TFS, чтобы сделать предыдущую версию, я хочу, - текущую версию кода. – alchemical

+0

Отредактировано для добавления дополнительных шагов. –

+85

Довольно грустно для TFS, если это действительно ответ. – alchemical

6

Bonus вопрос - кто-нибудь знает, если мы могли бы получить более надежную поддержку отката в VS2010?

Да. В отличие от Power Tools, которая кодируется непосредственно против существующего клиентского API 2008, TFS 2010 имеет новый API для выполнения откатов непосредственно на сервере. Это делает их намного быстрее и надежнее, добавляя функциональность, которая вообще не была возможной в 2008 году, например, восстановление истории слияния.

6

Из MSDN статьи How to: Roll Back a Changeset (VS2008, хотя другие версии доступны)

вернуться к более ранней версии файла

  1. В обозревателе управления исходным кодом, щелкните правой кнопкой мыши файл, который вы хотите вернуть , а затем нажмите Получить конкретную версию . Появится диалоговое окно Get.
  2. В разделе «Тип» нажмите «Изменить».
  3. В разделе «Изменение» щелкните эллипс (...).
  4. В диалоговом окне «Найти изменения» либо используйте значения по умолчанию, либо укажите критерии поиска и , затем нажмите «Найти».
  5. В разделе «Результаты» щелкните набор изменений, содержащий версию, на которую вы хотите вернуть файл, а затем нажмите «ОК».
  6. В диалоговом окне «Получить» установите флажок «Перезаписывать записи, которые не удалены» , и нажмите « ». Более ранняя версия файла копируется в вашу локальную рабочую папку .
  7. В проводнике исходного кода щелкните правой кнопкой мыши файл, а затем щелкните Отметьте для редактирования.
  8. В диалоговом окне «Отъезд» нажмите «Отъезд».
  9. В проводнике исходного кода щелкните правой кнопкой мыши файл, затем нажмите «В ожидании изменений».
  10. В Check In - диалоговое окно Source Files, выберите файл, а затем нажмите Проверить в Resolve Conflicts появляется диалоговое окно, и сообщение объясняет, что никакие файлы не были проверены в, поскольку две версии . имеют изменения, которые конфликтуют.
  11. В окне сообщения нажмите кнопку ОК. Появится окно ожидающих изменений - конфликты .
  12. (необязательно) На панели инструментов окна «Ожидающие изменения» щелкните «Сравнить » «Локальный серверу». Сервер и местные копии отображаются рядом друг с другом, так что вы можете просмотреть ваше решение перед вами. откат изменений.
  13. В окне «Ожидающие изменения» нажмите «Сохранить локальную версию».
  14. В проводнике исходного кода щелкните правой кнопкой мыши файл, а затем щелкните Проверка ожидающих изменений.
  15. В Check In -. Диалоговом окне Исходные файлы, нажмите кнопку Проверить в
12

Там IS путь, но я не нахожу это довольно .. Открытой Визуальная команда студии и ..

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>tf rollback -? 
TF - Team Foundation Version Control Tool, Version 10.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Rolls back the changes in a single or a range of changesets: 
tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive] 
      [/lock:none|checkin|checkout] [/version:versionspec] 
      [/keepmergehistory] [/noprompt] [/login:username,[password]] 

tf rollback /toversion:versionspec itemspec [/recursive] 
      [/lock:none|checkin|checkout] [/version:versionspec] 
      [/keepmergehistory] [/noprompt] [/login:username,[password]] 

Versionspec: 
    Date/Time   D"any .Net Framework-supported format" 
         or any of the date formats of the local machine 
    Changeset number Cnnnnnn 
    Label    Llabelname 
    Latest version T 
    Workspace   Wworkspacename;workspaceowner 
+0

это не доступно в VS2008, кажется (помечено OP) – MorganTiley

10

August 2011 TFS Power Tools добавлена ​​полная поддержка отката прямо в интерфейс Visual Studio 2010.

Ссылка для скачивания: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

Эта функция также входит в TFS 2012

+2

Это работает, но я чувствую, что это не настоящий откат. Желательной функциональностью было бы удаление всех наборов изменений, сделанных с тех, на которые мы возвращаемся. Это просто добавляет новый набор изменений с содержимым откатного файла. – matadur

+0

@matadur, проблема с этим подходом заключается в том, что вы можете в конечном итоге удалить изменения, которые вам не нужны - например, изменения в других ветвях, другие решения, создать шаблоны процессов и начать с TFS 2012, Запросы на просмотр кода/Отзывы и отзывы клиентов.Вы также можете получить сиротские ссылки на греческие рабочие элементы, осиротевшие ссылки в сборках и локальные рабочие пространства, которые безвозвратно не синхронизируются с сервером. (то есть, что произойдет, если разработчик проверит некоторые ожидающие изменения?) Если вы хотите «откат» всего, восстановите резервную копию на уровне SQL. –

+0

Работала идеально для нас, так как мы разработали функциональность, а затем еще через 10 смен, было решено удалить эту функциональность. Это позволяет вам выполнять только откаты определенные изменения. Фантастика! – Neville

27

Это, к счастью, было сделано намного проще в TFS 2012. Теперь есть вариант Откат из графического интерфейса.

MSDN имеет дополнительную информацию о том, как это сделать и какие варианты доступны. Вот текст из MSDN о том, как выполнить откат к конкретной версии:

Для отката к определенной версии:

  1. В обозревателе управления исходным кодом выберите элемент, откройте контекстное меню, и выберите «Откат».
  2. В диалоговом окне Откат выберите Откат к определенной версии.

Вы также можете откинуть весь набор изменений или коллекцию наборов изменений. И вы также можете легко откатиться к определенному моменту времени, если хотите.

+2

Да, это работало намного лучше, чем использование отката в обозревателе решений, как я делал, но каждый раз он возвращался обратно к самым последним файлам TFS. Ваш совет работал отлично и просто! Это самый новый и лучший ответ, который я думаю. – ppumkin

+0

Как откат отличается от получаемой конкретной версии? –

2

В Visual Studio 2013 это стало более простой задачей. Для Откат, выполните следующие действия:

  1. В Control Source Explorer,, выберите решение/проект
  2. правой кнопкой мыши, затем выберите «Просмотр истории»
  3. По мнению журнала, выберите набор изменений, который вы хотите откатить
  4. Щелкните правой кнопкой мыши, затем выберите Просмотреть детали набора изменений. Это открывает Team Explorer.
  5. В Team Explorer, нажмите кнопку "Откат": Team Explorer
  6. Чтобы сделать откат постоянным, вы должны проверки в прямо сейчас. Или вы можете вносить изменения в откатанную версию, а затем зарегистрироваться.
Смежные вопросы