Как откатить регистрацию в TFS? - PullRequest
92 голосов
/ 28 августа 2008

Я бы хотел откатить изменения, которые я недавно сделал в TFS. В Subversion это было довольно просто. Тем не менее, это кажется невероятной головной болью в TFS:

Вариант 1: Получить предыдущую версию

  1. Вручную получить предыдущую версию каждого файла
  2. Проверить для редактирования
  3. Fail - проверка (в VS2008) вынуждает меня получить последнюю версию

Вариант 2: Получить TFS Power Tools

  1. Загрузить Team Foundation Power Tools
  2. Выполнить команду отката из строки cmd
  3. Fail - не будет работать, если есть другие ожидающие изменения

Вариант 3: отменить изменения вручную

  1. вручную отменить мои изменения, а затем зафиксировать новый набор изменений

Вопрос

Как выполнить откат к предыдущему набору изменений в TFS?

Ответы [ 17 ]

63 голосов
/ 12 марта 2009
  1. Скачать и установить Team Foundation Power Tools .
  2. Откройте командную строку Visual Studio
  3. Перейдите в каталог в файловой системе, в которую отображается TFS. Если вы этого не сделаете, вы получите сообщение об ошибке «Невозможно определить рабочее пространство» при попытке отката
  4. Убедитесь, что все остальное зарегистрировано или отложено
  5. запустить откат tfpt, чтобы вызвать интерфейс.
  6. Выберите наборы изменений, которые вы хотите откатить
  7. Регистрация новых версий откатанных вами файлов

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

Если вам нужна помощь, чтобы выяснить, какие наборы изменений необходимо откатить, я нахожу инструмент обзора кода в бесплатной надстройке Team Foundation Side Kicks очень полезным.

24 голосов
/ 05 декабря 2008

Ваше решение № 1 будет работать: 1. вручную получить предыдущую версию каждого файла

  1. проверить для редактирования

  2. Регистрация файла и игнорирование изменений сервера при появлении запроса.

Причина, по которой он потерпел неудачу для вас, заключается в том, что вы должны иметь Включена опция «Получить последнюю версию товара при оформлении заказа». Отключите эту опцию, перейдя в Инструменты ... Параметры ... Контроль исходного кода ... Visual Studio Tema Foundation Server и сняв флажок "Получить последнюю версию элемента при получении"

Приветствия

18 голосов
/ 18 марта 2011

Откат перенесен из tfpt.exe в tf.exe, инструмент управления версиями Team Foundation.

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]]
14 голосов
/ 19 августа 2011

У вас есть два варианта отката (возврата) набора изменений в TFS 2010 Version Control. Первый вариант - использование пользовательского интерфейса (если установлена ​​последняя версия TFS 2010 Power Tools ).

Rollback Changeset in UI for TFS 2010

Другой вариант - использование приложения командной строки для управления версиями TFS 2010:

tf.exe rollback

У меня есть информация об обоих подходах в моем сообщении в блоге , доступном здесь: http://www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx

14 голосов
/ 04 сентября 2009

Другой способ заставить ваш вариант 1 работать в обратном порядке:

  1. Оформить заказ
  2. Получить конкретную версию к старой версии
  3. Регистрация (игнорирование диалогового окна «версия сервера предупреждений новее») ИЛИ в разделе конфликтов диалогового окна «Ожидающие изменения» разрешите конфликты, сохранив локальную версию.

Это будет работать, даже если у вас установлена ​​опция Получить последнюю версию при оформлении заказа.

5 голосов
/ 04 августа 2011

Для справки, если вы используете TFS 2010 , вот ссылка на Команда отката (Team Foundation Version Control) руководство.

Чтобы выполнить откат определенного changeset , перейдите на Командная строка Visual Studio (2010) , перейдите в каталог рабочей области TFS и введите команду:

tf rollback /changeset:C12345

где 12345 - номер вашей ревизии. После этого он покажет вам журнал того, что он сделал, и вам придется разобраться с конфликтами слияния.

4 голосов
/ 12 ноября 2010

Отсутствие опции отката на самом деле является функцией TFS;)

Для отката изменений:

  1. Проверьте, какую конкретную версию изменений вы хотите
  2. Редактировать-> Выбрать все-> Скопировать текст в файл
  3. Проверить, какая версия файла находится на сервере
  4. Вставьте файл и зарегистрируйтесь.

И теперь все ваши промежуточные наборы изменений до отката также сохраняются! Какая замечательная особенность!

4 голосов
/ 29 августа 2008

Ааа, только что нашел эту статью CodePlex об использовании TFPT.exe (электроинструмент) для отката изменений.

Надеюсь, это поможет вам.

1 голос
/ 14 января 2011

Получить Специальная версия

В Версия Тип раскрывающийся список выберите Тип как Набор изменений

Используйте кнопку Изменить набор ..., чтобы найти свой Набор изменений или просто введите, если вам известен этот номер.

После того, как у вас есть конкретный набор изменений.

Выезд

Заезд

1 голос
/ 28 августа 2008

Я думаю, что Team Foundation Power Tools - это то, что нужно. Если есть ожидающие изменения, вы можете переместить их в набор полок, затем отменить или зарегистрировать все ожидающие изменения перед выполнением команды отката. См. http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20to%20undo%20a%20check-in&referringTitle=Source%20Control%20Practices%20at%20a%20Glance для получения дополнительной информации.

...