Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs GetOptions上的所有选项是什么意思?_Tfs - Fatal编程技术网

Tfs GetOptions上的所有选项是什么意思?

Tfs GetOptions上的所有选项是什么意思?,tfs,Tfs,该列表列出了四个选项,但解释有限: 覆盖“如果现有可写文件与下载的文件冲突,则覆盖它们”。这适用于所有文件,还是仅适用于我们告诉TFS我们已编辑的文件 GetAll“获取所有文件”。TFS通常不获取哪些文件 Preview“在不修改磁盘的情况下执行get。”这一条看起来很清楚 Remap“将磁盘上的现有项目重新映射到内容和磁盘位置不变的服务器项目。”我不知道这意味着什么 覆盖:将盲目覆盖尚未等待编辑的可写文件。如果您已将文件标记为“可写”,则您违反了与TFS的约定,并且TFS认为您这样做是有充

该列表列出了四个选项,但解释有限:

  • 覆盖“如果现有可写文件与下载的文件冲突,则覆盖它们”。这适用于所有文件,还是仅适用于我们告诉TFS我们已编辑的文件
  • GetAll“获取所有文件”。TFS通常不获取哪些文件
  • Preview“在不修改磁盘的情况下执行get。”这一条看起来很清楚
  • Remap“将磁盘上的现有项目重新映射到内容和磁盘位置不变的服务器项目。”我不知道这意味着什么

覆盖:将盲目覆盖尚未等待编辑的可写文件。如果您已将文件标记为“可写”,则您违反了与TFS的约定,并且TFS认为您这样做是有充分理由的(例如,由于脱机工作,在不签出的情况下修改文件)。这通常会在文件上产生可写冲突,但如果指定此标志,则会覆盖可写文件

这仅适用于服务器工作区(本地工作区始终可写)。这对您等待编辑的文件没有影响。Get将始终为本地编辑并在服务器上更新的文件生成冲突;如果要更新已签出的文件,必须撤消签出(或使用
takethers
解决冲突)

获取所有文件:将下载并更新每个文件,即使TFS认为本地版本与远程版本相同,并且下载新版本将是一个noop。TFS跟踪本地和远程拥有的每个版本,因此只有在本地编辑文件而不签出文件时,这才有用

如果您使它们保持可写,那么-如上所述-这将是一个可写冲突。如果您随后将它们标记为只读,那么TFS会假定您没有进行任何更改,并且在执行get时不会更新它们(因为它知道文件内容没有更改)。如果手动更改了文件内容,则标记此项将将这些文件更新为服务器版本

预览:将只触发事件并提供结果,指示使用给定参数下载的内容

Remap:是一个聪明的选项,允许您执行就地分支切换(这在一些在存储库级别分支的版本控制系统中非常常见,如Git,但在TFVC中有点复杂。)

假设您已将
$/Foo/main
映射到
C:\Foo
,并执行了“获取最新版本”操作。如果更新工作文件夹映射,使
$/Foo/branchs/feature
现在指向
C:\Foo
,然后使用
Remap
发出get,则服务器将仅下载
main
branchs/feature
之间更改的文件,因此,将本地工作区更新为功能分支是一种廉价的方法


(如果您正在查找示例,此功能存在于命令行界面和Visual Studio中,但不存在于Visual Studio中。)

谢谢。因此,如果我有一个本地工作区,并且(未知)文件被无意中更改,我将不得不使用Overwrite和GetAll来恢复它们?@MarkRaymond是的,这应该是正确的-尽管如果工作区中有新文件挂起,这些文件不会受到影响。