如何从命令行重建 TFS 工作区?
How rebuild TFS workspace from the command line?
我需要在我的工作站上重建我的本地工作区,以删除一些阻止我进行进一步更改的冲突更改。
我收到以下错误,需要解决它才能继续我的工作。
Conflict "uc_example.ascx.cs" - Unable to perform the get operation Because you have any available conflicting edit
我更喜欢从命令行执行此操作。
首先尝试解决问题
要查看有问题的文件有哪些未决更改,您可以 运行:
tf status $/path/to/your/uc_example.ascx.cs /format:detailed
/collection:http://yourserver:8080/tfs/YourCollection /user:*
可选择使用 /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
并失败)时,可能会发生这种情况。您需要先签入删除,或者撤消删除然后覆盖文件。您不能 delete
和 add
在同一个签到中。
如果失败,请清除工作空间
如果这没有帮助,您可以删除工作区,创建一个新工作区,获取最新资源,重新应用您的更改并尝试将其签入。
WARNING THIS WILL BLOW AWAY ALL PENDING CHANGES ON THE WORKSPACE
MAKE SURE YOU HAVE A BACKUP BEFORE PROCEEDING!
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
WARNING BELOW LINE WILL GET AND FORCE ALL FILES TO THE LATEST VERSION
tf get d:\Your\Local\Path /recursive /version:T /force /overwrite
但是如果该项目在其他人的工作空间中有冲突的更改,它不会帮助您吹走您的工作空间。
我需要在我的工作站上重建我的本地工作区,以删除一些阻止我进行进一步更改的冲突更改。
我收到以下错误,需要解决它才能继续我的工作。
Conflict "uc_example.ascx.cs" - Unable to perform the get operation Because you have any available conflicting edit
我更喜欢从命令行执行此操作。
首先尝试解决问题
要查看有问题的文件有哪些未决更改,您可以 运行:
tf status $/path/to/your/uc_example.ascx.cs /format:detailed
/collection:http://yourserver:8080/tfs/YourCollection /user:*
可选择使用 /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
并失败)时,可能会发生这种情况。您需要先签入删除,或者撤消删除然后覆盖文件。您不能 delete
和 add
在同一个签到中。
如果失败,请清除工作空间
如果这没有帮助,您可以删除工作区,创建一个新工作区,获取最新资源,重新应用您的更改并尝试将其签入。
WARNING THIS WILL BLOW AWAY ALL PENDING CHANGES ON THE WORKSPACE MAKE SURE YOU HAVE A BACKUP BEFORE PROCEEDING!
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
WARNING BELOW LINE WILL GET AND FORCE ALL FILES TO THE LATEST VERSION
tf get d:\Your\Local\Path /recursive /version:T /force /overwrite
但是如果该项目在其他人的工作空间中有冲突的更改,它不会帮助您吹走您的工作空间。