设想。Team Foundation Server 2010 源代码控制:
我没有 tfs 凭据,因此使用其他用户凭据访问 tfs 以获取项目,将其映射到本地目录,它工作正常。
现在的问题是,我有自己的 tfs 凭据,因此我是否可以将本地已映射的项目切换为我自己的用户凭据?
设想。Team Foundation Server 2010 源代码控制:
我没有 tfs 凭据,因此使用其他用户凭据访问 tfs 以获取项目,将其映射到本地目录,它工作正常。
现在的问题是,我有自己的 tfs 凭据,因此我是否可以将本地已映射的项目切换为我自己的用户凭据?
工作区的 MSDN 定义“Visual Studio Team Foundation Server 的工作区包含一组工作文件夹映射。这些映射表示本地磁盘上的客户端文件夹和相应的存储库文件夹的位置。In addition, the name of the workspace owner and the name of the computer on which the workspace is used are also stored in Team Foundation Server.
”
因此,工作空间包含有关用户名、机器名称和本地文件夹的信息,这些信息共同构成了工作空间映射。默认情况下,TFS 不允许将两个用户映射到机器上的同一个文件夹(这是正确的!)。有一些方法可以通过选项 1 来克服这种默认行为。
选项 1:是利用公共工作区功能。您阅读了更多相关信息:公共工作场所
选项 2:使用WORKSPACES COMMAND中的 /UpdatUserName 选项。但此选项仅在用户名已重命名时才有效(安全标识信息 SID 保持不变)。所以在你的情况下这不会起作用,因为它完全是一个不同的用户。
选项 3:使用搁置集:您只需搁置旧用户的整个工作区,然后在新用户的新工作区上取消搁置,这将确保您保留所有更改。
选项 4:如果您只想删除旧工作区并将其映射到新用户 ID。您可以随时使用tf workspace /delete <DEVBoxName>;<OldUser> /server:http://<SERVERName>
. 阅读更多关于它的TF WORKSPACE 命令。删除工作区不会保留您的旧更改。
我个人会使用 Shelveset 选项,因为它确保我的更改被搁置到服务器上并且无论如何都不会丢失。