“与工作区版本比较”和“与最新版本比较”之间有什么区别?


Answers:


77

与最新版本比较 似乎很清楚。它将文件与TFS中的最新版本进行比较。因此,您将获得签入源代码管理的最新版本与要比较的哪个文件夹之间的所有差异。

与Workspace版本 进行比较可能会令人困惑,但实际上非常简单。TFS跟踪您已检索到工作空间中的文件的版本。这通常是最新版本,或接近最新版本,并非必须如此

使用该Get Specific Version选项时,您可以将文件的任何版本检索到本地工作空间。您甚至可以将不同版本的文件检索到工作区中。选择此选项后,将与工作空间中当前的版本进行比较。

比较画面


“当您选择此选项时,将与工作空间中当前的版本进行比较。” 与什么比较?
Bilal Fazlani

默认情况下,该版本在磁盘上。或选择的任何版本作为目标路径。最后,您最终有责任选择源版本和目标版本进行比较。
jessehouwing

2
使用变更集版本时,您上次下载到磁盘上当前已存在的内容的所选工作空间。
jessehouwing

2
为了进一步说明,获取工作空间版本可能与最新版本不同,也可能与最新版本相同。这完全取决于您从存储库中
提取的内容

1
示例:您在一个团队中,以3/5的比例获得文件。您对其进行了修改,但未检入。在5/5上,您与上一版本进行了比较,发现发现的差异超出了预期:这是因为其他人对同一文件进行了更多更改。但是,如果将其与Workspace版本进行比较,则只会得到本地更改与最初检索源文件时源文件的不同之处。检查仅更改的内容非常有用...
罗杰

79
  • 与比较工作区版本其实相比之下,文件的版本编辑过的文件在你签出的时间 (比较完全的改变)。

  • 最新版本进行比较会将编辑后的文件与代码存储库中存在的文件的最新版本进行比较,即它可能包含同事所做的更改

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


1
serhio,您和@jessehouwing正在说明“工作空间版本”比较类型的冲突行为。听起来他说如果工作空间本身配置为使用最新版本,则将使用文件的最新版本。但是,您所说的意味着源文件不一定是最新版本,而是结帐时文件的版本?
samis

2
这是最好的最简单的解释。Workspace不会自动从服务器检索最新版本。它保留您最新的文件。假设您是最新的,请编辑文件。同时,在您获得最新信息后,您的共同开发人员会签入。您的工作区不知道您的共同开发人员的签入更改。此时,“与工作区比较”和“与最新版本比较”将有所不同。
SKCS Kamal

5

@serhio的3/28/14答案是一个很好的叙述性答案。但是,我敢肯定,很多(包括我自己)都需要通过示例进行备份,这里是:

  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. 签出时的版本(即使之后其他人签入,您也只能看到所做更改)。

如果自签出后没有其他人签入文件,则上述两种方法都会产生完全相同的结果。

因此,如果您想比较开始时所做的工作和所做的事情,请选择“ 工作区版本”

如果要比较您所做的与他人所做的,请选择“ 最新版本”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.