在Azure DevOps Server (TFS) 中修改团队项目名称
概述
【团队项目】:
在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码、文档、需求、缺陷和持续集成等数据。同时,团队项目也是TFS中相关数据的权限隔离边界;在系统的默认配置中,不同人员登录TFS系统,会查看到不同团队项目的数据。在TFS系统的设计中,团队项目名称和用户访问TFS系统的方式有直接关系,例如,团队项目中代码库的远程地址中,就包含了团队项目的名称部分。
【修改名称】:
在使用TFS系统前,最好对所有团队项目的名称有一个整体的规划,避免由于改名导致许多未知的问题。但是,如果出现团队项目改名的需求时,我们需要首先了解改名对开发团队造成的影响,提前做好相应的规划。
团队项目改名会导致用户相关数据的变化,包括:
- 源代码版本库路径
- 工作项的URL路径
- 共享查询、个人查询路径
- 其他与团队项目名称相关的书
团队项目的名称可以多次修改,也可以重新改回原来的名称。但是在改名之前和之后,必须要通知你的开发团队,让大家做好相应的变更。一般情况下,尽量在非工作时间实施改名的工作,避免对开发团队的工作造成影响。
注意:从TFS 2015之后,系统才支持修改团队项目名称的功能,之前的版本并不支持这一功能。
修改团队项目之前
1. 你必须是项目管理员的权限,即,你的操作账户在项目管理员组的成员中
2. 由于修改团队项目会影响开发人员访问Azure DevOps Server,为避免修改团队项目造成数据丢失,在修改团队项目之前,需要通知开发团队将本地的代码变更提交到服务器。提交的数据主要包括:
- Git代码库中的修改
- TFVC代码库中的修改
- Excel 中的工作项
- Project 中的工作项
- PowerPoint 中的设计内容
修改团队项目名称
在团队项目的任何页面,点击“项目设置”按钮
‘
在项目设置页面,点击重命名

在弹出页面中,填写新的团队项目名称,并勾选“我了解重命名此项目的后果”,点击“重命名”按钮。

修改团队项目之后:对开发团队的影响
完成团队项目改名后,我们必须通知开发团队,对本地开发工具和访问方式做相应的修改,以便适应新的团队项目名称。这些变动主要是正对使用不同开发工具的团队成员,如果你的团队成员(例如需求人员)一直使用浏览器访问TFS系统,则变动不大。下面是开发团队需要做的相应调整:
1. 重新启动客户端:
开发工具在缓存中存储团队项目名称,如果重新启动开发工具,系统会自动清除缓存中的信息。重新打开开发工具并连接到Azure DevOps Server 后,系统会自动创建新缓存信息。如果在修改团队项目名称后,用户没有重新启动客户端程序,会导致推送到服务器的数据失败。当然,这里的客户端不包含浏览器,主要是指Visual Studio,Eclipse,Git client,Excel等工具,以及使用TFS客户端对象模型自定义的客户端工具。
2. 更新Git远程库:
如果你使用的团队项目中的Git 远程库,那么你需要更新所有连接到服务器本地库的配置。这是因为远程库的地址中包含了团队项目的名称,例如http://tfsserver/DefaultCollection/MyAgileTeam/_git/MyAgileTeam,其中的MyAgileTeam就是团队项目名称。
- 获取远程库的名称
在浏览器中,选择对应的Git库,选择克隆按钮,在弹出的窗口中,点击复制Git库远程地址的按钮

- 在Visual Studio 中,请参考下面的方式修改远程库地址
在Visual Studio 的团队资源管理器中打开之前克隆的git库:

选择设置按钮

选择存储库设置

选择远程库>编辑按钮

在弹出的窗口中,将上一步中复制的远程地址粘贴到这里,并确认完成操作。你就可以按照之前的操作更新本地代码库,并推送和拉取远程库的内容了。
- 在Git 客户端的命令行中更新远程库地址
如果你使用命令行方式和远程仓库同步数据,则可以参考下面的方式修改远程库地址:
打开命令行窗口,查看当前的远程库设置:
git remote –a

执行远程库修改命令
git remote set-url origin {URL_you_copied_from_the_remote_repo}

3. 更新TFVC 工作区
如果你使用服务器工作区的方式连接TFVC代码库,你只需要打开使用Visual Studio 或者Eclipse,打开源代码管理器之后,更新或者签入文件后,系统会在工具中自动更新你的团队项目名称。
常见问题
在Eclipse或者Visual Studio中连接TFVC异常,建议新建一个工作区,重新同步数据到新的映射目录中,如下图:


微软最有价值专家,DevOps MVP 张洪君 http://www.cnblogs.com/danzhang
--End--
(完)
在Azure DevOps Server (TFS) 中修改团队项目名称的更多相关文章
- 在Azure DevOps Server (TFS)中实现VUE项目的自动打包
概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.由于它在数据绑定.页面展示和使用简单方面有很大的优势,逐渐被越来越多的前端开发团队使用.本文 ...
- 还原Azure DevOps Server (TFS)中误删除的生成流水线
流水线历史记录 DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异.这个历史记录功能可以和代码库中的版本控制媲美. 图一:生成历史记录 ...
- Azure DevOps Server (TFS) 代码库Repo管理培训
Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...
- Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...
- 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)
概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...
- 集成Azure DevOps Server(TFS) 与微软Teams
1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...
- 在Azure DevOps Server (TFS 2019) 流水线传递参数
变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...
- 在Windows操作系统的文件管理器中集成Azure DevOps Server (TFS)工具菜单
故事场景 使用过SVN的用户,都知道在Windows的文件夹上点击鼠标右键,就会弹出Tortoise SVN的操作菜单(俗称小乌龟).通过这个功能,用户不需要打开SVN工具,可以直接在Windows的 ...
- Azure DevOps Server (TFS) 修改工作项附件大小限制
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...
随机推荐
- Leapin' Lizards(经典建图,最大流)
Leapin' Lizards http://acm.hdu.edu.cn/showproblem.php?pid=2732 Time Limit: 2000/1000 MS (Java/Others ...
- c++泛型模板
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 模板是一种对类型进行参数化的工具: 通常有两种形式:函 ...
- xp安装vmware10时一直停在installing packages on the system
我估计的原因是: vm会在网上邻居(LAN或高速internet)下创建两个 vmware network adapter vmnet8 vmware network adapter vmnet1 ...
- yii使用gii创建后台模块与widget使用
yii使用gii创建后台模块与widget使用 1.在protected/config/main.php中打开gii的配置属性. 'gii'=>array( 'class'=>'syste ...
- AspectJ的XML方式完成AOP的开发之AOP的通知类型
1. 前置通知 * 在目标类的方法执行之前执行. * 配置文件信息:<aop:after method="before" pointcut-ref="myPoint ...
- C盘满了如何清理
一.C:\inetpub\logs\LogFiles\ 中的日志文件可以全部删除二.C盘上右键>属性>磁盘清理 和 系统磁盘清理三.百度下载:魔方清理大师>逐项清理四.卸载较大的不常 ...
- AdmBaseController 判断是否登录
代码 using Service.IService; using System; using System.Collections.Generic; using System.Linq; using ...
- Java中弹出对话框中的几种方式
1.显示一个错误对话框,该对话框显示的 message 为 'alert': JOptionPane.showMessageDialog(null, "alert", " ...
- BZOJ2424 [HAOI2010]订货 - 费用流
题解 (非常裸的费用流 题意有一点表明不清: 该月卖出的商品可以不用算进仓库里面. 然后套上费用流模板 代码 #include<cstring> #include<queue> ...
- 201621123008 《Java程序设计》第四周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键字:继承,多态. 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 2. 书面作业 1. ...