Як розблокувати файл від когось іншого на Team Foundation Server


74

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


Це просто означає, що я змінив комп’ютер з тих пір, а потім змінив користувача, тому що тоді користувався тимчасовим користувачем ...
David Brunelle

Відповіді:


13

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


1
як правило, це адміністратор або адміністратор, без пропуску.
kurast

Проблема в тому, що це зазвичай так, оскільки це за замовчуванням.
kurast

Я фактично ДОДАЮ новий файл до нового елемента керування зв’язаним джерелом. І він постійно повторює, що його заблокував користувач. Я видалив робочу область користувачів із TFS, але це продовжує мене помиляти. Лише деякі файли не можна зареєструвати. Продовжує повідомляти мені це
Piotr Kula

Я надав доступ адміністратора проекту, але розблокування все ще недоступне. Я спробував за допомогою tf.exe в командному рядку. Я отримую цю помилку "TF14090: Не вдається розблокувати $ / project / myfile.txt. Наразі вона не заблокована у вашій робочій області.". Будь ласка, допоможіть!
Мохан Рам

"Якщо ви ввійдете в керування джерелом за допомогою облікового запису адміністратора" ..... Я отримав 20+ років досвіду роботи з .NET, Visual studio та TFS. У мене немає того, про що ви говорите. До речі. Ми ВСІ адміністратори, і у всіх нас є БЛОКУВАННЯ сірим кольором.
Крістіан

120

Ось що я роблю у Visual Studio 2012

(Примітка: У мене встановлені електроінструменти TFS, тому, якщо ви не бачите описаних опцій, можливо, вам доведеться їх встановити. Http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f )

Якщо ви отримуєте доступ до Explorer Control Explorer як адміністратор спільного проекту (або принаймні хтось із правом доступу "Скасувати зміни інших користувачів"), ви можете зробити наступне у Visual Studio 2012, щоб очистити замок і замовити замовлення.

  1. У Провіднику керування джерелами знайдіть папку, що містить заблоковані файли.
  2. Клацніть правою кнопкою миші та виберіть Знайти, а потім Знайти за статусом ...
  3. З'явиться вікно "Знайти в контролі джерела"
  4. Натисніть кнопку Знайти
  5. Повинна з'явитися вкладка "Знайти в контролі джерела", що відображає файли, які перевірено
  6. Клацніть правою кнопкою миші файл, який потрібно розблокувати
  7. Виберіть Скасувати ... у контекстному меню
  8. З'явиться діалогове вікно підтвердження. Натисніть кнопку Так .
  9. Файл повинен зникнути з вікна "Знайти в контролі джерела".

Тепер файл розблоковано.


2
Де можна призначити або переглянути права "Скасувати зміни інших користувачів"?
flipdoubt

Ви також можете вибрати все (Ctrl-A) і клацнути правою кнопкою миші, скасувати. Це видалить усі замки.
TheSoftwareJedi


1
Для VS 2013: Провідник керування джерелом> перейдіть до якоїсь папки> клацніть правою кнопкою миші> Скасувати зміни, що очікують> виберіть файли для скасування> натисніть кнопку для скасування змін
Сайрус

2
Це була чудова відповідь, яка була короткою, сутою, і заощадила мені багато часу. Дякую!
Тім

43

Ви можете скористатися інструментом Status Sidekick інструмента TFS Sidekicks і розблокувати файли, які перевіряють інші користувачі. Для цього ви повинні бути частиною групи адміністраторів цього конкретного командного проекту (або) ваша група повинна мати дозволи на скасування та розблокування інших змін користувача, які за замовчуванням мають групи адміністраторів.

Ви можете отримати інструмент тут: http://www.attrice.info/cm/tfs/


1
Детальніші кроки див. У моїй відповіді нижче: stackoverflow.com/a/14565165/224976
Тім Партрідж

36

Мені вдалося відмінити оплату іншого користувача наступною командою:

tf undo {file path} /workspace:{workspace};{username}

Вам потрібно буде обернути цю крапку з комою у подвійні лапки, якщо ви виконуєте команду з PowerShell. Ми використовуємо TFS 2010 (і VS 2010).

Застереження: Я отримав це з блогу FCI-H за адресою http://fci-h.blogspot.com/2011/01/how-to-force-undo-checkout-tfs.html


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

@PeterX У Visual Studio 'Source Control Explorer' клацніть правою кнопкою миші файл> Додатково> Властивості: перейдіть на вкладку Статус. Він покаже вам робочу область там.
Дуг Коберн,

21

Team Foundation Sidekicks має Status Sidekick, який дозволяє запитувати перевірені робочі елементи. Після вибору робочого елемента натисніть кнопку "Скасувати блокування" на панелі інструментів.

Права

Майте на увазі, що вам знадобляться відповідні права. Дозволи називаються "Скасувати зміни інших користувачів" та "Розблокувати зміни інших користувачів". Ці дозволи можуть переглянути:

  1. Клацніть правою кнопкою миші потрібний проект, папку або файл у Провіднику керування джерелами
  2. Виберіть Властивості
  3. Виберіть вкладку Безпека
  4. Виберіть відповідного користувача або групу в розділі Користувачі та групи вгорі
  5. Перегляньте розділ "Дозволи для [користувача / групи]:" унизу

Знімок екрана розблокування файлу за допомогою Team Foundation Sidekicks

Відмова від відповідальності : ця відповідь відредагованого репост Бретт Роджера відповіді на подібне питання .


З якоїсь причини ця операція у мене не працює. Я вказую на TFS2013, повноцінний адміністратор, використовуючи Sidekicks 5.0.0.0. Як зазначає Леандро у відповіді нижче, єдиною операцією, яка працює, є "Скасувати очікування зміни".
EJA

14

Я вирішив це за допомогою інструментів TFS (грудень 2011 - для VS 2010 TFS 2010)

http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

Знайти в Source Control | Статус ... дозволяє знайти всі файли, перевірені певною особою

клацніть правою кнопкою миші та UNDO ... може видалити кожну оплату.


6

На основі відповіді stackptr я створив пакетний файл UnlockOther.bat

@rem from /programming/3451637/how-to-unlock-a-file-from-someone-else-in-team-foundation-server
@rem tf undo {file path} /workspace:{workspace};{username

call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
@echo on
tf undo $/MyTfsProject/path/fileName.ext /workspace:CollegeMachine;CollegueName /login:MyLogin 
@pause

4

Team Foundation Sidekicks добре працював для мене.

Файл не розблокувався, тому я відмінив очікувані зміни, а після цього міг видалити файл.


Дякуємо за цю неочевидну підказку! Додам, що розблокування не відображало жодної помилки чи повідомлення, воно просто скасувало вибір файлу і все. ЄДИНИМ, що було необхідно, було "скасувати зміну, що очікує", це видаляє блокування. Видалити блокування немає. VS2010, помічник 3.1.1.
FredCooke

2

Відповідь 2019 р., Оскільки більшість із вищезазначеного є непристойною.

tf undo /workspace:"hostname;username" "$/path/*" /s:https://yourhostname/tfs у піднятому командному рядку із шляху, такого як C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>


1
незважаючи на необхідні дозволи, я не міг розблокувати папку за допомогою традиційної tf lockкоманди, але з tf undoнею
вдалося

1

Використовуйте команду розблокування, яка постачається з TFS

  1. Клацніть «Пуск», виберіть «Усі програми», «Microsoft Visual Studio 2008», «Інструменти Visual Studio» та «Командний рядок» Visual Studio.
  2. Введіть таку команду та замініть аргументи відповідною інформацією про параметри для своїх потреб: tf lock /lock:none $/MyTeamProject/web.config

    tf lock itemspec /lock:(none|checkout|checkin) [/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

З MSDN .


1

Вам потрібно бути адміністратором проекту або мати обліковий запис tfs (ім’я користувача / пароль) користувача, який заблокував файл.

у Visual Studio 2019:

  • Меню> Перегляд> Термінал (ctrl + `)
  • Зачекайте, поки розробник PowerShell або командний рядок завантажиться в курсор так:
    Drive:\your solution path>
  • ви повинні скасувати зміни, щоб розблокувати файл:
    tf vc undo /workspace:"workspacename;worksapceowner" "$/path/[file.extension][*]" [/recursive] [/login:"user name,password"]
    приклад: -
    tf vc undo /workspace:"DESKTOP-F6BN2GHTKQ8;Johne123" "$/mywebsite/mywebsite/appsettings.json"

0

У моєму випадку я спробував розблокувати файл, tf lockале мені сказали, що я не можу, оскільки застаріла робоча область на старому комп’ютері, який більше не існував, була локальною робочою областю. Потім я спробував видалити робочу область за допомогою tf workspace /delete, але видалення робочої області не призвело до зняття блокування (і тоді я не зміг спробувати розблокувати його знову, оскільки я щойно отримав повідомлення про помилку про те, що робоча область більше не існує).

Я закінчив tf destroyвведення файлу і перевірку його ще раз, що було досить безглуздо і мало небажаний ефект видалення \ з попередніх наборів змін, але принаймні змусило нас знову працювати. У цьому випадку це було не настільки великою справою, оскільки файл ніколи не змінювався з моменту реєстрації.

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