如何使用tf命令提取Team Foundation Server 2012中config.json所有变更集版本
关于TFS 2012提取config.json所有历史版本的tf命令方案
TFS 2012(v11)的tf命令行工具完全支持该需求,你可以通过tf hist和tf view两个命令组合实现,操作步骤如下:
步骤1:获取该文件的所有变更集记录
执行历史查询命令,拿到该文件关联的所有变更集ID:
tf hist $/你的项目完整路径/config.json /noprompt /format:detailed
参数说明:
$/你的项目完整路径/config.json替换为config.json在TFS中的实际服务器路径,如果你当前在本地工作区对应目录下执行命令,也可以直接写本地文件相对路径/noprompt:禁用弹窗交互,直接在命令行输出结果/format:detailed:输出详细信息,包含变更集ID、提交人、提交时间、备注等内容
步骤2:导出单个历史版本
如果要导出指定变更集的文件内容到本地,执行以下命令:
tf view $/你的项目完整路径/config.json /version:C[变更集ID] /noprompt /output:config.json.C[变更集ID]
参数说明:
/version:C[变更集ID]:指定要获取的版本,C前缀代表变更集类型,比如要获取变更集123的版本就写/version:C123/output:指定导出的本地文件路径,这里示例按config.json.变更集号命名,方便区分不同版本
步骤3:批量导出所有历史版本(Windows环境)
你可以通过简单的批处理脚本一次性导出所有版本,无需手动逐个执行:
- 先导出所有变更集ID到临时文件
tf hist $/你的项目完整路径/config.json /noprompt /format:detailed | findstr "变更集" > changesets.txt
注意:如果你的TFS命令行输出为英文,需将
findstr "变更集"替换为findstr "Changeset"。
- 编写批处理脚本循环导出
@echo off for /f "tokens=2" %%a in (changesets.txt) do ( tf view $/你的项目完整路径/config.json /version:C%%a /noprompt /output:config.json.C%%a )
额外操作:直接对比两个版本的差异
如果你不需要保存完整文件,只想查看两个版本的改动,可以直接用tf diff命令:
tf diff $/你的项目完整路径/config.json /version:C[旧变更集ID]~C[新变更集ID] /noprompt
内容的提问来源于stack exchange,提问作者Mike Torrettinni
相关产品推荐
相关产品推荐

