TFSで別のユーザーのチェックアウトを取り消す方法は?


95

常駐TFS管理者として、特定のファイルに対してユーザーがソース管理にチェックインしたチェックアウト(通常はロック)を元に戻すよう求められることがあります。

他のユーザーのチェックアウトを元に戻すにはどうすればよいですか?

回答:


143

これを行うには、少なくとも2つの異なる方法があります。

コマンドライン

チームエクスプローラーに付属しているTf.exeと呼ばれるコマンドラインユーティリティがあります。ドキュメントはこちらです。Visual Studioコマンドプロンプトウィンドウを起動してアクセスできます。コマンドの構文は次のとおりです。

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

1つのファイル

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

2つ目はGUI経由ですが、標準ではありません。TFSPower Toolsをインストールする必要があります。参照してください。詳細はこちらこの方法を使用する方法に関する。

どちらの方法でも、適切な権限が必要になることに注意してください。権限は「他のユーザーの変更を元に戻す」および「他のユーザーの変更をロック解除する」と呼ばれます。これらの権限は、次のユーザーが表示できます。

  1. ソース管理エクスプローラーで目的のプロジェクト、フォルダー、またはファイルを右クリック
  2. プロパティを選択
  3. [セキュリティ]タブを選択します
  4. 上部の[ユーザーとグループ]セクションで適切なユーザーまたはグループを選択します
  5. 下部にある[[user / group]の権限:]セクションを表示します

ワークスペースを削除する

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 

私にとって、コマンドtf undo / workspace:mydesk * .sdfは「保留中の変更はありません」と報告しますが、チェックアウト(ロック)を元に戻しません
dumbledad '28

* .sdf itemspecの前にTFSサーバーパスを忘れてしまったので、現在のディレクトリから機能することを想定していました。あなたが与えるコマンドラインは今私のために機能します。
dumbledad '28年

1
スペースを含むパスは必ず引用符で囲んでください。引用符を使用しないと、「$ / xxxの保留中の変更は見つかりませんでした」のようなメッセージが表示されることがあります
PeterX

ワークスペース名を見つけるにはどうすればよいですか?tf workspaces / owner:[other user] / server:[server]を実行すると、ユーザーが持っている4つのワークスペースのリストが表示されますが、ファイル用のワークスペースはどのようにしてわかりますか?
PeterX 2014年

1
PeterX、Visual Studioのソリューションエクスプローラーでファイルに移動し、ロックされたファイルを右クリックして[プロパティ]を選択すると、ワークスペースを表示できます。次に、[ステータス]タブに、ファイルをロックしたワークスペースとユーザーに関する情報が表示されます
Dante

36

私が見つけた最も簡単な方法は、無料のTFS Sidekickアプリケーションを使用することです。他のユーザーのチェックアウトを表示して元に戻すオプションがあります。


5
「Status Sidekick」の下にあります。検索、ファイルの選択、取り消し。
Wolf5 2014年

ユーザーが退職した場合は、Active Directoryのユーザー名(ユーザーの姓または名、あるいはその両方と常に同じとは限りません)を知っている必要があります。私の会社では番号付きのユーザー名を割り当てているため、VSまたはStatus TFS Sidekickで検索する前に、退職したユーザーを検索する必要がありました。
Zephan Schroeder 2014

これは驚くほどうまくいきました。コマンドラインツールを使用してワークスペース名などを把握するよりもはるかに簡単です。
Bo Flexson 2015

28

私は自分でこの問題を抱えていて、古いワークスペースをクリーンアップする簡単な方法を見つけました。

  1. Visual Studioで、ソース管理エクスプローラーを開きます。

  2. 「ワークスペース」ドロップダウン「を選択ワークスペース...

  3. 現在のPCのワークスペースを示すダイアログが表示されます。「を選択し、リモートワークスペースを表示します

  4. 以前のPCのワークスペースも表示されます(同じユーザーアカウントからのものである限り)。古いワークスペースを選択し、[ 削除 ]をクリックします。これにより、永続的なチェックアウトとともに、TFSから古いワークスペースが削除されます。

Arneが解決策を見つけたと私は確信していますが、これが問題をグーグルする他の人に役立つことを願っています。


7
これは、特にワークスペースの現在のリストをクリーンアップする場合に、ワークスペースの所有者であればうまく機能します。他のユーザーのワークスペースやチェックアウトロックの削除にはあまり適していません:-)。
Zephan Schroeder 2014

同意した。これは、別のPCから自分のチェックアウトロックを削除するのに適しています。
Chris

1
正解ですが、質問は、別のユーザーにチェックアウトされているファイルのロックを解除することに固有です。
BrainSlugs83 2017

9

TFSサイドキックでファイルを選択すると、リストの上に「保留中の変更の取り消し」があります。それをクリックすると、変更が元に戻されます:)アイコンは、MSワードの「元に戻す」アイコンに似ています。Get TFS sidekicks from http://www.attrice.info/cm/tfs/index.htm


使用する最も簡単なツール。元ワーカーがチェックアウトしたソリューションレベルでの変更を元に戻すのを本当に助けてくれました
Vishnoo Rath
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.