概述

【团队项目】:

在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) 中修改团队项目名称的更多相关文章

  1. 在Azure DevOps Server (TFS)中实现VUE项目的自动打包

    概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.由于它在数据绑定.页面展示和使用简单方面有很大的优势,逐渐被越来越多的前端开发团队使用.本文 ...

  2. 还原Azure DevOps Server (TFS)中误删除的生成流水线

    流水线历史记录 DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异.这个历史记录功能可以和代码库中的版本控制媲美. 图一:生成历史记录 ...

  3. Azure DevOps Server (TFS) 代码库Repo管理培训

    Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...

  4. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)

    之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...

  5. 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

    概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...

  6. 集成Azure DevOps Server(TFS) 与微软Teams

    1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...

  7. 在Azure DevOps Server (TFS 2019) 流水线传递参数

    变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...

  8. 在Windows操作系统的文件管理器中集成Azure DevOps Server (TFS)工具菜单

    故事场景 使用过SVN的用户,都知道在Windows的文件夹上点击鼠标右键,就会弹出Tortoise SVN的操作菜单(俗称小乌龟).通过这个功能,用户不需要打开SVN工具,可以直接在Windows的 ...

  9. Azure DevOps Server (TFS) 修改工作项附件大小限制

    1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...

随机推荐

  1. 对实体类的CRUD操作

    --------------------siwuxie095 对实体类的 CRUD 操作 1.创建数据库和表 (1)创建一个 MySQL 连接:mybatis_conn (2)创建一个数据库:myba ...

  2. 【c++】多层次继承类对象的构造函数参数的传递方法

    #include <iostream.h> //基类CBase class CBase { int a; public: CBase(int na) { a=na; cout<< ...

  3. (hash map)Two Sum, sorted(排序+双指针)closest,小于或大于的对数,组成不同的对数

    原版 sorted [抄题]: [思维问题]: 存sum - nums[i](补集),若出现第二次则调出 [一句话思路]: hashmap中,重要的数值当做key,角标当做value. [画图]: [ ...

  4. linux-git服务搭建

    第一步,安装git: 源码安装参考:http://www.cnblogs.com/syuf/p/9151115.html 第二步,创建一个git用户,用来运行git服务: $ sudo adduser ...

  5. instanceof用法及本质:

    import static java.lang.System.*; public class InstanceofTest{ public static void main(String[] args ...

  6. iOS.Book.Effective Objective-C 2.0

    1. 中文翻译版 (更新中) https://github.com/HagerHu/effective-objective-c-2.0 2. Book的主页 和 代码主页 http://www.eff ...

  7. Ubuntu12.04下搭建Java环境

    1.认识需要配置的环境变量 1). PATH: 作用是指定命令搜索路径,打开/etc/environment可以看到PATH变量的值,该变量包含了一系列的路径.那些路径都是一些经常使用的系统命令的目录 ...

  8. Laravel 5 如何对部份 URI 禁用 CSRF 验证

    打开中间件 VerifyCsrfToken.php 在其 $except 属性中添加要禁用的 uri,如: api/user/add api/user/* api/*

  9. 类Pinterest Web原型制作分享——花瓣网

    这是一家基于兴趣的社交分享网站,网站为用户提供了一个简单地采集工具,帮助用户将自己喜欢图片重新组织和收藏.网站布局美观合理,内容丰富.此原型模板所用到的组件有按钮栏.菜单栏.搜索框.水平分割线.交互动 ...

  10. Spring.NET学习笔记6——依赖注入(应用篇)

    1. 谈到高级语言编程,我们就会联想到设计模式:谈到设计模式,我们就会说道怎么样解耦合.而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny I ...