如何从命令行重建TFS工作区?

时间:2015-01-21 14:31:20

标签: command-line tfs tf-cli

我需要在工作站上重建我的本地工作区,以便删除一些阻止我进行进一步更改的冲突更改。

我收到以下错误,需要解决它才能继续我的工作。

  

冲突" uc_example.ascx.cs" - 无法执行获取操作因为您有任何可用的冲突编辑

我更喜欢从命令行执行此操作。

1 个答案:

答案 0 :(得分:3)

尝试先解决问题

要查看相关文件中有待处理的更改,您可以运行:

tf status $/path/to/your/uc_example.ascx.cs /format:detailed 
         /collection:http://yourserver:8080/tfs/YourCollection /user:*

可选择使用teh /workspace:name参数包含工作区。

要撤消对文件的待处理更改(请确保备份内容):

tf undo $/path/to/your/uc_example.ascx.cs
         /collection:http://yourserver:8080/tfs/YourCollection

(可选)添加需要撤消更改的工作区(您可能需要撤消其他人的更改权限)。

tf undo $/path/to/your/uc_example.ascx.cs 
         /workspace:TheWorkspaceWithEditYouWantGone;OwnerOfSaidWorkspace
         /collection:http://yourserver:8080/tfs/YourCollection

要查看相关文件中有待处理的更改,您可以运行:

tf status $/path/to/your/uc_example.ascx.cs /format:detailed 
         /collection:http://yourserver:8080/tfs/YourCollection

如果有待处理的delete,您无法尝试签入待处理的edit。或者如果有待处理的merge,则无法执行delete。删除文件(挂起delete),然后创建一个具有相同名称的新文件(将尝试挂起add,然后失败)时,可能会发生这种情况。您需要先检查删除,或撤消删除,然后覆盖该文件。您不能在同一次登记中deleteadd

如果失败,请吹掉工作区

如果这样做无效,您可以删除工作区,创建新工作区,获取最新资源,重新应用更改并尝试将其签入。

  

警告这将使工作区域内的所有待处理变更失效   在你继续之前,请确认你有一个备份!

tf undo /workspace:YourWorkspaceName /recursive /noprompt
         /collection:http://yourserver:8080/tfs/YourCollection

tf workspace /delete /collection:http://yourserver:8080/tfs/YourCollection 
         /workspace:YourWorkspaceName

tf workspace /new /noprompt /collection:http://yourserver:8080/tfs/YourCollection 
        /location:local YourWorkspaceName

tf workfold /map $/Server/Folder d:\Your\Local\Path /workspace:YourWorkspaceName
        /collection:http://yourserver:8080/tfs/YourCollection 
  

警告以下线将获取并强制所有文件到最新版本

tf get d:\Your\Local\Path /recursive /version:T /force /overwrite

但如果该项目在另一个人的工作区中发生了相互矛盾的更改,则无法帮助您清除工作区。