更改TFS工作区的计算机名称


123

我的系统管理员重命名了我的计算机。因此,在“ MyLaptop2”处,现在只是“ MyLaptop”。

因此,现在我所有的源代码控制绑定和检出的文件都在寻找带有“ MyLaptop2”的工作区。

有没有一种方法可以将该工作空间重定向到我重命名(但仍然相同)的计算机上?


3
以下答案中的命令必须在Visual Studio的“开发人员命令提示符”中运行。在Windows 8+中,可能很难找到它,因此请在stackoverflow.com/questions/21476588/…中查看WiredPrairie的答案,以获取有关如何找到它的良好演练。
加勒特·辛普森

在线使用Visual Studio效果很好。今天尝试了。
Glenn Ferrie

Answers:


220

在Visual Studio的“开发人员命令提示符”中运行的以下命令可达到以下目的:

tf workspaces /updateComputerName:MyOldComputerName /s:"http://MyServer:8080/tfs/MyCollection"

它必须从我想为其分配工作空间的计算机上运行(这就是它获取新计算机名称的方式。


只为信息:这也与当地的工作区2012年工作TFS下
克鲁梅尔尔

7
+1如果在此期间您已经重新映射了新的本地工作空间中的路径,则此命令将失败,并显示“路径已映射”错误。您必须删除新的本地工作空间,然后启动命令
onof on

5
我在哪里运行此命令?正常的命令行(cmd.exe)?我想它有和它说'tf' is not recognized as an internal or external command, operable program or batch file.
若奥·波特拉

11
找到了!Greg解释说,我首先必须转到具有tf可执行文件的目录(cd c:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE)。
若昂里斯本

7
或按WindowButton->所有程序-> Visual Studio 2013-> Visual Studio工具-> VS2013开发人员命令提示符
Asaf

50

Vaccano的解决方案为我工作。我花了几次尝试才能正确找到TFS URL,所以我想把它发布给使用Microsoft Visual Studio TFS托管的用户(目前对小型团队免费)。

从计算机上的命令提示符,我首先转到正确的目录:

cd c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE

然后我运行命令:

tf workspaces /updateComputerName:OLDCOMPUTERNAME /s:"https://MYCOMPANY.visualstudio.com/DefaultCollection"

然后它告诉我,我的新工作空间与我的新计算机名称的计算机名称匹配。

希望道路有所帮助。


@andrewsi- 在进行相同的格式更改并忽略第一段的大写和措辞更改之前,您是否拒绝我的编辑 “是否未解决关​​键问题”的任何特殊原因?
Robotnik

我不认为第一段中的更改使答案更易读。并且您错误地标记了代码行-您使用了反引号,而不是缩进。如果您认为所做的更改确实可以改善内容,请随时重新提交您的编辑,如果看到编辑队列中的内容,我将跳过它,以便其他编辑者可以决定。
andrewsi 2015年

@andrewsi-好的。我不同意您对反引号的观点-在IMO的反引号中,单行代码是完全可以的,但是我会推迟这一点,因为这取决于个人喜好。我将重新提交第一段的大写更改,至少这次不重新排列句子的可读性
Robotnik

谢谢,这节省了我很多时间。
Zeeshan Adil

1
我必须按照@olleh的建议进行操作,并使用tf工作区/ collection:COLLECTION_URL / updateComputerName:OLD_COMPUTER_NAME的格式, 我不知道/ s而不是/ collection的建议来自何处,但对我而言不起作用。
nbrosz

22

转到VS命令提示符,然后键入以下内容:

tf工作区

这将为您提供可用的收藏集。复制您想要的集合的路径(基本上是URL)。然后输入以下内容:

tf工作区/ updateComputerName:“ OLD_NAME” / collection:“从上方复制的URL”

(不包括以上引号)


2
感谢您添加有关如何查看所有集合URL的信息
David Chelliah

一步一步给人信心。我担心所接受的答案中的端口“:8080”,这确认了所需的内容。-谢谢
bentecko

13

Vaccano是正确的,但是,在UpdateCompterName开关之后,我需要工作空间名称。在我的情况下,工作空间是旧计算机名称。

如果您不知道工作空间名称,则可以使用以下命令找到所有工作空间名称:
tf workspaces /owner:* /computer:* /server:http://MyServer:8080/tfs/MyCollection

因此,我得出以下结论。
tf workspaces /updateComputerName:MyOldComputerName MyOldComputerName /s:http://MyServer:8080/tfs/MyCollection


12

我尝试运行其他答案中提到的命令;但是,我的项目托管在TFS在线(visualstudio.com)中,因此我需要先进行身份验证,因为我一直收到以下错误消息:

TF400813: Resource not available for anonymous access.

对我而言,删除后继问题并再次重新连接变得更加容易和快捷:

文件>源代码管理>高级>工作区(删除工作区)


绝对容易做到这一点(如果您在“旧”工作区中未检出任何东西)
EkoostikMartin 2014年

9

下面给出了它对我的工作方式。

步骤1.转到Visual Studio命令提示符

步骤2.在上面的命令提示符下,键入command tf workspaces。此命令将显示您在计算机中创建的所有工作空间以及集合名称。仔细查找命令结果的第一行。

步骤3.在同一命令提示符下键入command tf workspaces /updateComputerName:OLDCOMPUTERNAME /s:"collection name as shown above"

OLDCOMPUTERNAME和COLLECTION的名称在这里非常重要。


4

如果某人对CommandPromt(例如我)不那么满意,则此信息图表帖子可以为您提供帮助 。这是博客中的文本片段:

单击Visual Studio 2013上的文件菜单。现在单击

源代码管理->高级->工作区..

这将打开一个标题为“管理工作区”的窗口。它显示了您有权访问的该计算机上的工作区列表。该列表包含4列:

  1. 工作区名称
  2. 电脑
  3. 工作区所有者
  4. 注释(如果在创建工作空间时添加)

添加工作区: 如果工作区管理器为空,则可能您尚未添加一个。单击添加按钮,然后输入您的服务器/用户名/密码,它将为您列出添加的服务器/用户名/密码。

更新工作空间: 以后,如果您更改了计算机名称,或者无论如何要相应地更新工作空间,请选择要编辑的工作空间,然后单击“编辑”按钮;在这里您可以更新您的工作区详细信息。


6
我看不到在这种情况下如何更改计算机名称,因为显示它的字段是只读的。你能解释一下吗?
Lorgarn

3

用户回答:开放和免费为我工作。文件->源代码管理->高级->工作区

这将打开一个标题为“管理工作区”的窗口。勾选“显示远程工作空间”,它显示了阻止.cs文件更改的工作空间。我删除了,我现在工作正常:)


谢谢曼迪。这是简单的步骤,也对我有用。
S. Mayol '18

1

为了向TFS Online(MS托管的TFS)的用户说明一下-如果您的网址是“ mytfs.visualstudio.com”,而您的收藏集是“ DefaultCollection”,则上面列出的命令将是:

列出所有工作区:tf工作区/ owner:* / computer:* / server:https : //mytfs.visualstudio.com/DefaultCollection

要从OldPcName更新:tf工作区/ updateComputerName:OldPcName /服务器:https ://mytfs.visualstudio.com/DefaultCollection

简而言之,指定HTTPS,忽略端口并且不添加/ tfs /文件夹结构。

然后,您可以转到源代码管理资源管理器并使用“工作空间”下拉列表来选择(并根据需要重命名)工作空间。



1

创建新工作区后避免获取和映射

  1. cmd

  2. 导航到Visual Studio IDE路径。像这样:

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
    
  3. 运行以下命令:

    tf workspaces /updateComputerName:MyOldComputerName /s:"http://MyServer/tfs/MyCollection"
    
  4. 在“管理工作空间”中,删除添加的工作空间(命名为当前计算机名称),然后将旧的工作空间重命名为当前计算机名称。

在这种情况下,您不需要任何额外的获取和映射。


0

我遇到了同样的问题,来到了这里。但是后来我关闭并重新打开了Visual Studio,这很好。所以...这可能是某些解决方案。


0

为了扩展一些较早的答案,我的收藏名称中有一些空格。即使集合名称用引号("http://1.2.3.4:8080/tfs/My Collection Name")包围,您也需要替换任何空格字符以%20正确解析该名称(tf workspaces /updateComputerName:MyOldComputerName /s:"http://1.2.3.4:8080/tfs/My%20Collection%20Name"


0

我必须在VS的开发人员命令提示符中执行此操作:

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0> tf工作区/删除/服务器:http : //tfs.mysite.com : 8080 / tfs / defaultcollection devshed22; Warren


-2
  1. 制作项目文件夹的副本
  2. 在TeamExplorer / SourceControl中映射原始本地文件夹
  3. 将只读属性设置为原始本地文件夹和子文件夹
  4. 从原始文件夹加载项目,联机并获取最新版本。本地文件将被覆盖。
  5. 关闭解决方案,删除原始文件夹,使用原始文件夹名称还原副本
  6. 打开解决方案,在线,您可以签入文件而不会发生冲突。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.