TFS中不同类型的Compare之间有什么区别

时间:2009-05-08 17:04:31

标签: visual-studio-2008 tfs

当您右键单击文件并选择“比较...”时,您会得到一些不同的选项:

  1. 变更集
  2. 日期
  3. 标签
  4. 最新版本
  5. 工作区版本
  6. 前3个是非常自我解释的。但是最新版本和工作区版本有什么区别? 4似乎您正在将计算机上的代码与TFS中的最新版本进行比较 5 - 不应该像(4)那样吗? (我认为它可能允许您与多个工作区进行比较,但对话框似乎没有选择不同工作空间的选项。)

4 个答案:

答案 0 :(得分:53)

我发现之间存在差异 最新版本 工作区版本

最新版本 - 将您当前的代码文件与TFS服务器上的最新代码文件进行比较。 (这包括您的代码猴子所做的所有更改,并在您签出文件后重新检入)。只有在您启用了多个结帐时,这种比较形式才会显示差异。

工作区版本 - 将您当前的代码文件与签出文件时的代码进行比较。如果您启用了多个签出并且某些代码猴子已签入更改 - 那么,您可以使用此选项查看最初更改的内容。然后,您必须与最新版本进行比较,以确定在检入代码文件时是否存在任何冲突。

答案 1 :(得分:11)

最新版本是指提交给TFS源代码管理的最新版本,而Workspace版本是指本地工作区中的最后一个签入版本。

因此,基本上Workspace版本Compare将比较您与已签入文件进行比较的文件。虽然最新版本比较会将其与您团队中其他人可能已签入的文件进行比较。

答案 2 :(得分:2)

最新版本和工作区版本之间的混淆主要来自(对我来说)你认为你点击的内容。当您在“源代码管理”视图或“待更改”中单击该文件时,TFS会将其视为您单击上次同步到的源代码管理中的文件,本地文件。

大部分时间最新版本可能不会被用作(我假设)你将在大多数时间内同步到最新版本。

答案 3 :(得分:1)

当我读到有关stackoverflow(What is the difference between "Compare with Workspace version" and "Compare with Latest version"?)的另一个问题时,我的解释如下(如果我错了,请更正)

与最新版本比较:将您的文件(已编辑或未编辑)与TFS服务器中的最新版本进行比较

与工作区版本比较:在开始工作之前,将您的文件(已编辑或未编辑)与您签出的版本进行比较。