Як відмовити реєстрацію TFS?


92

Я хотів би відмовитись від нещодавно внесених змін у TFS. У Subversion це було досить просто. Однак це здається неймовірним головним болем у TFS:

Варіант 1: Отримати попередню версію

  1. Отримайте попередню версію кожного файлу вручну
  2. Перевірте редагування
  3. Помилка - замовлення (у VS2008) змушує мене отримати останню версію

Варіант 2: Отримати електроінструменти TFS

  1. Завантажте електроінструменти Team Foundation
  2. Видайте команду відкоту з рядка cmd
  3. Помилка - це не спрацює, якщо є якісь інші очікувані зміни

Варіант 3: Скасувати зміни вручну

  1. скасувати вручну мої зміни, а потім здійснити новий набір змін

Питання

Як повернути попередній набір змін у TFS?


2
VSS не має відкоту. У них є ще одна особливість, яку називають "відкат", але, кажучи TFS, це насправді Знищення. (а) це можна зробити лише з кінчика; це не спрацює, якщо були перевірені будь-які додаткові зміни після тієї, яку ви хочете відмовити (b) це ПОСТІЙНО ВИДАЛЯЄ зміни з бази даних
Річард Берг,

1
О, як я прагну легкості відкоту VSS.
Грег

2
Нещодавно я наткнувся на це питання - чому, блядь, так важко відмовитись у TFS.
Відкат

2
Це занадто боляче в TFS!
Джон Краг,

1
Перейдіть на Mercurial! Я змінив роботу і переправився на TFS. З тих пір я пишу сценарії PowerShell, щоб з командного рядка здавалося як Hg.
Сумо

Відповіді:


63
  1. Завантажте та встановіть Електроінструменти Team Foundation .
  2. Відкрийте командний рядок Visual Studio
  3. Перейдіть до каталогу у файловій системі, до якого зіставлено TFS. Якщо ви цього не зробите, при спробі відкотиться повідомлення про помилку "Неможливо визначити робочу область"
  4. Переконайтеся, що все інше зареєстровано або відкладено
  5. запустіть відкат tfpt, щоб викликати інтерфейс.
  6. Виберіть набори змін, які потрібно повернути
  7. Перевірте нові версії файлів, які ви відкотили

Великим недоліком інструменту є те, що він захоче оновити все у вашій робочій області, перш ніж ви зможете об’єднатись. Я вирішив цю проблему, створивши нову робочу область лише для відкоту, який безпосередньо відобразився у місці у вихідному дереві, де були постраждалі файли.

Якщо вам потрібна допомога, щоб з’ясувати, які набори змін потрібно відкотити, я вважаю інструмент перегляду коду у безкоштовній надбудові Team Foundation Side Kicks дуже корисною.


Ви можете спробувати таким чином, але будьте застережені, інструменти недостатньо добре задокументовані, і навіть якщо ви зможете усунути всі помилки, ви можете або не зможете зробити справжній відкат. (Я щойно намагався протягом 2 годин)
алхімічний

1
Ця техніка спрацювала для мене. Пропозиція робочого простору була дуже доброю (і це важливо, якщо ви маєте справу з великою базою коду).
cloggins

1
Попередження ... є зловина 22, якщо ви використовуєте невідповідні версії TFS та Visual Studio. Я використовую VS2010 з TFS2008 (класичний випадок, коли ІТ не наздоганяє dev), а TF.EXE з VS2010 тепер має відкат ... але він не працює проти TFS2008. А в tfpt 2010 вилучено відкат, тому я не можу зробити це по-старому.
Саймон Гіллбі

7
команда «Відкат» був перенесений з Power Tools для VS2010, так що тепер вам просто потрібно ввести «» тс відкат: social.msdn.microsoft.com/Forums/en/tfspowertools/thread / ...
Dan

Починаючи з версії серпня 2011 року TFS Power Tools, для відкоту вам більше не потрібно використовувати командний рядок.
joerage

24

Ваше рішення №1 буде працювати: 1. вручну отримати попередню версію кожного файлу

  1. перевірити для редагування

  2. Зареєструйтесь у файлі та ігноруйте зміни сервера, коли з’явиться відповідний запит.

Причина, по якій це не вдалося для вас, полягає в тому, що у вас має бути ввімкнено опцію "Отримувати останню версію товару при виїзді". Вимкніть цю опцію, перейшовши до Інструменти ... Параметри ... Керування джерелом ... Visual Studio Tema Foundation Server і знявши прапорець біля пункту «Отримати останню версію товару при виїзді»

Ура


2
Просто зробив це таким чином після того, як боровся 2 години w Електроінструменти і нікуди не дістався ... wtf з TFS не підтримує цю основну функціональність ...
алхімічний

Функціонал додано до TFS 2010 / Visual Studio 2010.
Robaticus

2
Щоб бути зрозумілим, це не справжній відкат. Це старіша версія. Не те саме.
Райан Кромвель,

+1 за вказівку на проблему з Останньою версією товару при налаштуванні виїзду !
Сер Криспалот,

18

Відкат переміщено з 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]]

1
Чи є спосіб зробити це безпосередньо з Visual Studio?
Kyle Delaney

14

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

Набір змін у користувацькому інтерфейсі для 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

Ще один спосіб зробити так, щоб ваш варіант 1 працював - змінити порядок кроків:

  1. Перевірте товари
  2. Отримати конкретну версію до старої версії
  3. Зареєструйтесь (ігноруючи діалогове вікно "Версія сервера попередження новіша") АБО у розділі конфліктів діалогового вікна "Очікують зміни", щоб вирішити конфлікти, зберігаючи локальну версію.

Це спрацює, навіть якщо у вас встановлено Отримати останні повідомлення про оплату.


1
Не працював у мене. Але це повинно бути тому, що якийсь шпильковий голова створив TFS безглуздою політикою.
ШОДАН

5

Для довідки, якщо ви використовуєте TFS 2010 , ось посилання на керівництво щодо відкоту (Team Foundation Version Control) .

Щоб відмовити певний набір змін , перейдіть до командного рядка Visual Studio (2010) , перейдіть до каталогу робочої області TFS і введіть команду:

tf rollback /changeset:C12345

де 12345ваш номер набору змін. Після цього він покаже вам журнал того, що він зробив, і вам доведеться розібрати конфлікти злиття.



4

Відсутність можливості відкату насправді є особливістю TFS;)

Щоб відмінити зміни:

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

І тепер усі ваші проміжні набори змін до відкоту також збережені! Яка чудова особливість!


Спочатку я думав, що це саркастично, але це рішення може насправді працювати для тих з нас, кому не пощастило отримати дозвіл на відкат.
EBarr,

Якщо пізніше не було внесено змін до тих самих файлів, які ви насправді хочете зберегти.
Роберт Джеппесен,

Грубо, але це єдиний спосіб, яким я можу це зробити в TFS. Якщо я роблю замовлення, то отримую стару версію, TFS автоматично зливається до останньої версії, коли я намагаюся перевірити її знову.
Стів,

1

Якщо ви здійснили 1 реєстрацію, і ви просто хочете її скасувати, з цим пов’язаний набір змін #. Проведіть історію у відповідній папці, щоб побачити поганий набір змін. Відкрийте його, щоб побачити деталі (усі файли змінені тощо).

Я вважаю, що ви можете відновити або скасувати набір змін на цьому екрані, але моя Visual Studio просто зірвалася, коли я спробував це зробити. / зітхаю - я точно поділяю твій біль.

Де мені знизити TFS на цьому сайті?


Ні, відкат з інтерфейсу історії був доданий лише в TFS 2010.
Річард Берг,

1

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


1

Бен Шайрман - діалогове вікно "Деталі набору змін" не має функцій відкату.


1

Інший варіант - TFSPlus . Цей додаток Visual Studio додає (серед іншого) команду Отримати цю версію до вікна історії. Якщо файл перевірено, він замінить його на цю версію. Якщо ви здійсните реєстрацію пізніше, ви фактично зробите відкат до цієї версії.

Однак він працює з окремими файлами, а не з повними наборами змін.



1

Отримати конкретну версію

У спадному меню Тип версії виберіть Тип як Змінити набір

Використовуйте кнопку Changeset ..., щоб знайти ваш Changeset або просто введіть, якщо ви знаєте цей номер.

Після того, як ви отримаєте конкретний набір змін.

Перевіряти

Перевірь


0

Жодне з цих рішень не спрацювало для мене рішення Дейва Робертса було найближчим до того, що я насправді працював. У мене не ввімкнено останню версію товару при виїзді, проте, схоже, це політика сервера.

Моє рішення цього - перевірити файл на редагування, отримати конкретну версію, після чого при виявленні конфлікту скористатися інструментом злиття (і вручну об’єднати жодну зміну), щоб файл був у такому стані, в якому він був.

Я збирався скористатися порівнянням із конкретною версією та скопіювати весь файл, а потім просто вставити його поверх старого.

Все-таки повинен бути простіший спосіб зробити це!


0

Вище наведене рішення стосується TFS2008. TFS2010 має вбудовану функцію відкату. детальніше див. у цій статті.


За винятком того, що VS2010 (tf) не працює проти TFS2008, і оскільки TFPT 2010 більше не має відкоту, ви маєте змоту.
Саймон Гіллбі

0

Встановіть останню версію TFS Power Tools (серпень 2011 р.), І ви можете просто клацнути правою кнопкою миші на наборі змін і вибрати "Відкат змін". Це не стає набагато простіше, ніж це.

Він доступний тут: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

Про це натякають у розділі Удосконалення Team Explorer на наведеній вище сторінці:

Новим у цьому випуску є можливість [..] легко відкочувати зміни у контролі версій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.