53

私は、VSTS 2008 を使用する大規模プロジェクトの 1 つのサブモジュールに取り組んでいます。

モジュールを以前のバージョンにロールバックする必要があります (約 4 回前のチェックイン)。Visual Studio UI でこれを実行しようとしましたが、最終的にロールバックするオプションがないことに気付きました。

いくつかの調査の結果、コマンドライン ツールによるロールバックをサポートすることを目的とした Power Tools のダウンロードがあることがわかりました。ただし、それに関するドキュメントは事実上ないようです。

VS2008で以前のバージョンにロールバックする方法を段階的に説明できる人はいますか? (電動工具またはその他の方法を使用)。

おまけの質問です。VS2010 でより強力なロールバック サポートが得られるかどうか知っている人はいますか?

4

7 に答える 7

40

ソース管理エクスプローラーでフォルダーを右クリックします。[特定のバージョンを取得] を選択します。取得するバージョンを選択します (変更セット、日付、ラベルなどで)。

編集: この時点で、ローカル バージョンが目的のバージョンになります。変更されたファイルをチェックアウトしてから、再度チェックインします。これにより、マージ ウィザードが起動し、サーバーのバージョンがあなたよりも新しいことに文句を言うでしょう。ウィザードに従ってファイルをマージします (オプションの 1 つは、サーバーの変更を破棄することです。これは希望どおりです)。このプロセスの最後に、マージ プロセス (またはその性質の何か) のためにファイルがチェックインされていないことが示される場合があります。[OK] をクリックしてから、もう一度チェックインします。これにより、必要なことが達成されるはずです。

于 2010-02-16T22:23:16.247 に答える
35

これは幸運にもTFS2012ではるかに簡単になりました。GUIからのロールバックオプションがあります。

MSDNには、その方法と使用可能なオプションに関する詳細情報があります。特定のバージョンにロールバックする方法に関するMSDNのテキストは次のとおりです。

特定のバージョンにロールバックするには:

  1. ソース管理エクスプローラーで、項目を選択し、そのショートカットメニューを開いて、[ロールバック]を選択します。
  2. [ロールバック]ダイアログボックスで、[特定のバージョンへのロールバック]を選択します。

もちろん、チェンジセット全体またはチェンジセットのコレクションをロールバックすることもできます。また、必要に応じて、特定の時点に簡単にロールバックすることもできます。

于 2013-03-21T08:43:28.743 に答える
12

方法はありますが、私はそれがきれいだとは思いません..Visual Studioコマンドプロンプトを開いて..

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
于 2011-04-01T07:28:30.333 に答える
11

2011年8 月の TFS Power Toolsでは、完全なロールバック サポートが Visual Studio 2010 UI に直接追加されました。

ダウンロード リンク: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

この関数は、TFS 2012 にも含まれています。

于 2011-08-24T15:50:35.970 に答える
6

ボーナスの質問-VS2010でより堅牢なロールバックサポートを取得できるかどうか誰かが知っていますか?

はい。既存の2008クライアントAPIに対して直接コーディングされているPowerToolsとは異なり、TFS 2010には、サーバー上で直接ロールバックを実行するための新しいAPIがあります。これにより、マージ履歴を元に戻すなど、2008年にはまったく不可能だった機能を追加しながら、はるかに高速で信頼性の高いものになります。

于 2010-02-18T05:17:40.823 に答える
6

MSDN の記事からHow to: Roll Back a Changeset (VS2008 ただし、他のバージョンが利用可能)

ファイルを以前のバージョンに戻すには

  1. ソース管理エクスプローラーで、ロールバックするファイルを右クリックし、[特定のバージョンを取得] をクリックします。[取得] ダイアログ ボックスが表示されます。
  2. [種類] で、[変更セット] をクリックします。
  3. [変更セット] で、省略記号 (…) をクリックします。
  4. [変更セットの検索] ダイアログ ボックスで、既定値を使用するか、検索条件を指定して、[検索] をクリックします。
  5. [結果] で、ファイルを元に戻すバージョンを含む変更セットをクリックし、[OK] をクリックします。
  6. [取得] ダイアログ ボックスで、[チェックアウトされていない書き込み可能なファイルを上書きする] チェック ボックスをオンにして、[取得] をクリックします。以前のバージョンのファイルがローカルの作業フォルダーにコピーされます。
  7. ソース管理エクスプローラーで、ファイルを右クリックし、[編集のためにチェックアウト] をクリックします。
  8. [チェックアウト] ダイアログ ボックスで、[チェックアウト] をクリックします。
  9. ソース管理エクスプローラーで、ファイルをもう一度右クリックし、[保留中の変更のチェックイン] をクリックします。
  10. [チェックイン - ソース ファイル] ダイアログ ボックスで、ファイルをクリックし、[チェックイン] をクリックします。[競合の解決] ダイアログ ボックスが表示され、2 つのバージョンに競合する変更があるため、ファイルがチェックインされていないことを示すメッセージが表示されます。
  11. メッセージ ボックスで、[OK] をクリックします。[保留中の変更 – 競合] ウィンドウが表示されます。
  12. (オプション) [保留中の変更] ウィンドウのツールバーで、[ローカルとサーバーを比較] をクリックします。サーバー コピーとローカル コピーが並べて表示されるので、変更をロールバックする前に決定を確認できます。
  13. [保留中の変更] ウィンドウで、[ローカル バージョンを保持] をクリックします。
  14. ソース管理エクスプローラーでファイルを右クリックし、[保留中の変更のチェックイン] をクリックします。
  15. [チェックイン - ソース ファイル] ダイアログ ボックスで、[チェックイン] をクリックします。
于 2011-02-03T23:43:36.370 に答える
4

Visual Studio 2013では、これがより簡単なタスクになりました。ロールバックするには、次の手順を実行します。

  1. Source Control Explorerで、ソリューション/プロジェクトを選択します
  2. 右クリックして、「履歴の表示」を選択します
  3. 履歴ビューで、ロールバックする変更セットを選択します
  4. 右クリックして、[変更セットの詳細を表示] を選択します。これにより、チーム エクスプローラーが開きます。
  5. チーム エクスプローラーで、[ロールバック] をクリックします。
    チーム エクスプローラー
  6. ロールバックを永続的にするには、今すぐチェックインする必要があります。または、ロールバックされたバージョンに変更を加えてからチェックインすることもできます。
于 2015-07-02T09:06:58.127 に答える