Get 命令
将文件的只读副本从 Team Foundation 版本控制 服务器检索到工作区,并在磁盘上创建文件夹以包含它。
所需权限
若要使用 get 命令,您必须将对每一个检索的项的**“读”权限设置为“允许”,并且您必须拥有目标工作区或具有全局“管理工作区”**权限。 有关更多信息,请参见 Team Foundation Server 权限。
tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force]
[/preview] [/recursive] [/remap] [/noprompt] [/login:username,[password]]
参数
参数 |
说明 |
---|---|
Itemspec |
要检索的文件或文件夹。 如果未提供 itemspec,则 Team Foundation Server 执行映射到当前工作区的所有项目的递归 Get 操作。 ![]()
可指定多个 Itemspec 参数。
|
Versionspec |
用户提供的 /version 选项的值。 有关 Team Foundation Server 如何分析版本规范以确定哪些项在其范围内的更多信息,请参见命令行语法(版本控制)。 |
username |
向 /login 选项提供值。 可以按域\用户名或用户名的格式指定用户名值。 |
选项 |
说明 |
---|---|
/version |
可选的版本规范。 versionspec 是要检索的项的版本。 可以通过以下方式指定版本:
|
/all |
强制检索所有文件,而不仅仅是过期文件。 |
/overwrite |
覆盖未签出的可写文件。 |
/force |
结合使用 /all 和 /overwrite。 |
/preview |
显示将发生的情况,而不实际执行 Get 操作。 |
/recursive |
以递归方式检索与您的 itemspec 匹配的所有项。 |
/noprompt |
禁止显示本应在此操作过程中显示的任何对话框。 |
/remap |
更新本地服务器上的映射,并更快地重新下载文件(如果您已经从另一个分支下载了同一个文件)。 ![]()
最好在您没有复杂的本地映射且必须频繁地在分支之间切换时,使用此选项。
|
/login |
指定用于在 Team Foundation Server 中验证用户身份的用户名和密码。 |
备注
get 命令将项从服务器检索到工作区。 如果未提供其他版本,则检索最新的服务器版本。
如果您在团队开发环境中工作,则get是您最常使用的命令,因为它使当前项目中的每个文件与您的小组同步,并确保您有最新的共享共享工作副本。 get 命令不会覆盖您已在本地目录中签出的文件。 在协作工作环境中执行 get 命令的越频繁,则本地文件越与您团队的本地文件同步。 这是因为 get 操作将用您的团队成员签入服务器的更改填充本地工作区。 如果只要看到签入通知(例如,从项目警报),您就通过执行get操作使工作区保持最新状态,则您可以快速解决您的项目版本和项目的服务器版本之间的差异。 可以避免作出在签入挂起的更改时可能不容易与服务器协调的更改。
get 操作过程中,如果您的工作区版本与请求的服务器版本相同,则 Team Foundation Server 不替换磁盘上的文件,除非指定了 /all 选项。 可以使用 /overwrite 选项用指定的版本覆盖可写的当前工作区版本,以便在工作区难以管理时将工作区还原到一致状态,例如有时在删除或意外覆盖磁盘上的多个文件时会出现这种情况。 传送 /force 选项后,如果不提供特定版本,Team Foundation Server 将用最新的服务器版本覆盖工作区中所有签出的项目。
执行 get 操作时,Team Foundation Server 会从本地工作区中删除签入的文件,这些文件在上次将工作区同步到服务器版本之后已从服务器中删除。 已在服务器上重命名或移动的文件将在磁盘上重新定位,以便与服务器上的更改相匹配。
您可以使用 /preview 选项发出 get 命令而不更新本地工作区,以便查看实际执行 get 操作时的效果。
签出操作不对签出的文件执行 get latest 操作。
作为在工作区中工作的开发人员,您将被隔离,不受其他开发人员所做更改的影响。 您可以根据需要执行 get 操作,以控制何时接受来自其他开发人员的更改。 理想情况下,您可以更新的受版本控制的文件的完整配置而不只是一个或两个文件,因为在一个文件中的更改通常取决于其他文件的相应更改。 必须确保具有一致的可生成和测试的版本受控文件的快照。
因此,签出操作不对签出的文件执行获取最新文件操作。 更新正在签出的文件将违反一致快照,并可为您提供不能生成或测试的版本受控文件的配置。 另外,Team Foundation Server 可以在签入更改前的某一点强制执行 get latest 操作,以便在尝试签入更改并且没有最新副本时,通过“解决冲突”对话框提示您。
还可以将 Team Foundation Server 配置为签出时自动获取最新版本。 有关更多信息,请参见 配置签出设置。
有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令。
获取进程
如果对服务器某个项发出 get 命令,该项已在您的工作区中签出,并且服务器版本已经发生变化时,系统将提示您解决工作区与检索的服务器版本之间的文件冲突。 有关更多信息,请参见 Resolve 命令。
示例
下面的示例从服务器检索 314.cs 的最新版本。 如果有对 314.cs 的挂起的更改,则 Team Foundation Server 将启动可帮助您确定如何处理冲突解决过程。
C:\projects>tf get 314.cs
下面的示例从服务器检索 1256.cs 的版本 8。
提示
使用 1256.cs;8 与使用 1256.cs;C8 具有同样的效果。 默认情况下,如果您在分号后只指定一个数字,则使用变更集版本。
C:\>tf get 1256.cs;8
下面的示例将所有未掩蔽的项的最新版本从服务器文件夹和子文件夹检索到 C:\projects 目录,并在需要的位置创建本地文件夹。 有关如何掩蔽和取消掩蔽文件夹的更多信息,请参见 Workfold 命令。
C:\projects>tf get
下面的示例提供检索签入的变更集为 1999 的 1256.cs 的版本的其他方法。
c:\projects>tf get /version:C1999 1256.cs
- 或 -
c:\projects>tf get 1256.cs;C1999
下面的示例从服务器检索创建变更集 271 时存在于服务器中的所有未掩蔽的项的版本。
c:\projects>tf get /version:C271
下面的示例检索标签为“build42”的 build42。只要没有挂起的更改,这将使您的工作区与该标签匹配。 将从本地磁盘上删除此标签中没有的任何文件。
c:\projects>tf get /version:Lbuild42
下面的示例根据特定的日期和时间检索服务器上的版本。
c:\projects>tf get /version:D2008-01-21T16:00