「ワークスペースバージョンと比較」と「最新バージョンと比較」の違いは何ですか?


90

TFSでVisual Studio 2012を使用しています。チェックアウトしたファイルを比較したいときはいつでも、2つのオプションから選択できます。

  1. ワークスペースバージョンと比較
  2. 最新バージョンと比較

スクリーンショット

違いはなんですか ?

回答:


77

最新バージョン比較すると明らかなようです。TFSの最新バージョンとファイルを比較します。したがって、ソース管理にチェックインされた最新バージョンと、比較対象のフォルダーとの間のすべての違いが得られます。

ワークスペースバージョンと比較する と混乱するかもしれませんが、実際には非常に簡単です。TFSは、ワークスペースに取得したファイルのバージョンを追跡します。これは、通常、最新バージョン、またはそれに非常に近いが、それはケースである必要はありません

このGet Specific Versionオプションを使用すると、任意のバージョンのファイルをローカルワークスペースに取得できます。異なるバージョンのファイルをワークスペースに取り込むこともできます。このオプションを選択すると、現在ワークスペースにあるバージョンと比較されます。

比較画面


「このオプションを選択すると、現在ワークスペースにあるバージョンと比較されます。」何と比較?
ビラルFazlani 2013年

デフォルトではディスク上のバージョン。またはターゲットパスとして選択したバージョン。最終的に、比較するソースとターゲットのバージョンを選択するのは最終的に責任があります。
jessehouwing 2013年

2
変更セットのバージョンでは、現在ディスク上にあるものをすべて使用して、選択したワークスペースに最後にダウンロードしました。
jessehouwing 2013年

2
さらに明確にするために、ワークスペースのバージョンの取得は、最新のものと異なる場合や、最新のものと同じ場合があります。それは、リポジトリからプルしたものに完全に依存しています
Callat

1
例:チームで3/5にファイルを取得します。あなたはそれを修正しますが、チェックインはしません。5/ 5で前のバージョンと比較すると、予想よりも多くの違いがあることがわかります。それは、他の誰かが同じファイルにさらに変更を加えたためです。ただし、Workspaceのバージョンと比較すると、ローカルでの変更と、最初に取得したときのソースファイルの状態の違いしか得られません。変更したものだけを確認するのに非常に役立ちます...
ロジャー

79
  • 比較すると、ワークスペースのバージョンは、実際にファイルのバージョンで編集したファイルを比較し、あなたがチェックアウト時に (比較独占的にあなたの変更を)。

  • と比較する 、最新バージョンは、ファイルの最新バージョンで編集したファイルを比較してコードリポジトリに存在し、すなわち、それはあなたの同僚が行った変更が含まれる場合があります

http://codereferences.blogspot.ca/2012/03/tfs-compare-with-workspace-version.html


1
serhio、あなた、@ jessehouwingは、ワークスペースバージョンの比較タイプの動作が競合していると述べています。ワークスペース自体が最新バージョンを使用するように構成されている場合、ファイルの最新バージョンが使用されると彼が言っているように聞こえます。しかし、あなたが言うことは、ソースファイルが必ずしも最新バージョンではなく、チェックアウト中のファイルのバージョンである可能性があることを意味しますか?
samis

2
これが最も簡単な説明です。ワークスペースは、サーバーから最新バージョンを自動的に取得しません。最新のファイルを保持します。それでは、最新のファイルを編集するとします。その間、あなたが最新になった後、あなたの共同開発者がチェックインしました。ワークスペースは、共同開発者がチェックインした変更を認識していません。この時点で、ワークスペースとの比較と最新バージョンとの比較は異なります。
SKCSカマル2016

5

@serhioの2014年3月28日の回答は、優れたナラティブな回答です。ただし、多くの(私を含む)が例でバックアップする必要があると確信しています。ここにそれがあります。

  1. 全員にとって、「最新バージョン」=チェンジセット#1。
  2. あなたは「最新を取得」します。
  3. あなたのために、「ワークスペースバージョン」=チェンジセット#1。
  4. 変更を加えます。
  5. 開発者B「最新を入手」。
  6. 開発者Bの場合、「ワークスペースバージョン」も=チェンジセット#1です。
  7. 開発者Bが変更を加えます。
  8. 開発者B「チェックイン」。
  9. 誰にとっても、「最新バージョン」=チェンジセット#2。
  10. 開発者Bの場合、「ワークスペースバージョン」=チェンジセット#2。
  11. あなたにとって、「ワークスペースバージョン」はまだ =チェンジセット#1です。
  12. 「最新を取得」、「競合のマージ」(必要な場合)、「チェックイン」。
  13. 誰にとっても、「最新バージョン」=チェンジセット#3。
  14. あなたのために、「ワークスペースバージョン」=チェンジセット#3。
  15. 開発者Bの場合、「ワークスペースバージョン」はまだ変更セット#2です。

0

回答を言い換えると:

ローカルファイルは常に作業中のファイルです。

サーバーファイルは次のいずれかです。

  1. 他のすべてのチェックインを含む最新バージョン。(あなたはあなたの変化だけでなく、他の人々の変化も見ることができます。)

  2. チェックアウトしたときのバージョン(他の人がチェックインした場合でも変更のみが表示されます)。

チェックアウト以降、他の人がファイルをチェックインしない場合、上記の両方でまったく同じ結果が得られます。

したがって、実行したことと開始時のそれを比較したい場合は、Workspace Versionを選択します。

自分が行ったことと他の人が行ったことを比較したい場合は、最新バージョンを選択してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.