一、前言

微软的Visual Studio非常强大,可以无缝结合Git或自家的TFS(Team Foundation Server),进行项目管理非常方便,从需求分析、开发、测试、维护,几乎可以贯穿软件开发的整个生命周期。这篇文章将会详细介绍如何使用Visual Studio结合TFS进行项目管理。

二、什么是TFS

TFS是一种为 Microsoft 产品提供 源代码管理、 数据收集、 报告和项目跟踪,而为协作 软件开发 的项目。 可作为独立的软件,或 Visual Studio Team System (VSTS) 在服务器端后端平台。

其定位类似于Git,功能却比Git更为强大,我将在下文中作介绍。TFS通常被用于企业中作为项目管理工具,即在一台服务器上安装TFS,然后将相关人员加入到组中,在Visual Studio中开发时用团队资源管理器连接到这台服务器,就可以使用强大的项目管理功能了。

那么,作为个人,我们能否使用Visual Studio结合TFS强大的项目管理功能呢?答案是可以。良心的微软搭建了云上的TFS,并且为每个使用正版Visual Studio的用户都分配了免费的5GB空间!

三、获取空间

废话不多说,切入正题。如何获取这5GB免费空间呢?

  1. 以Visual Studio 2013 Ultimate版本为例。首先确定自己是正版用户,然后用微软账号登录到Visual Studio(如果你没有微软账户,动手注册一个:注册Microsoft账户。),如下图所示

  

2.第一次登录后,会弹出下面的对话框,自定义存储空间的url,记下这个url:

这时会让你建立一个项目,我们跳过此步骤

在浏览器中访问你的url,出现以下界面(可能会略有不同),你已经成功获得了5GB的存储空间。

四、将本地项目签入到TFS

假设以下场景,我们在本机建立了一个项目,想把这个项目签入到TFS中进行项目管理,如分支、合并、签入、签出、版本更迭等,应该怎么做?

在企业用户中使用TFS,首先要在一台服务器上安装TFS,然后可以在TFS中建立多个团队项目集合(Collection),每个团队项目集合相当于一个放置某一个团队各种项目的容器,可以在某个团队项目集合中建立若干团队项目。

我们所得到的5GB的存储空间,实际上就是微软在自家建的云上的TFS服务器上为我们分配的一个团队项目集合(Collection),这个团队项目集合的大小为5GB,还需要注意的是,我们不能直接把一个本地的项目签入到团队项目集合根目录下,必须先在团队项目集合中新建一个团队项目,然后在把本地项目签入到该团队项目中去,下面我将演示这些操作。

  1. 打开visual studio,连接到我们的团队项目集合

  2. 出现下图所示,则表示已经连接成功
  3. 我们要在团队项目集合中新建一个团队项目,然后把本地项目签入到这个团队项目中,这样才能进行项目管理的操作(注意,这个项目并没有在本地创建),操作如下:
    点击新建团队项目后会打开下面的网页,填写相应项
    创建成功
  4. 将本地项目纳入到TFS进行项目管理。首先我在本机上新建了一个名为Test TFS Local的空项目,添加了了一个源.cpp文件,代码如下:
    #include<iostream>
    using namespace std; int main(){
    //init commit
    return ;
    }

    然后我们将这个项目纳入到我们在第3步中建立的团队项目Test TFS中,操作如下:


    完成这些操作后,细心的你可能会发现在解决方案前多了一个绿色的小加号,如下图所示

    注意,截至到目前我们并没有把本地项目签入到TFS中,你可以在浏览器中访问你的url,你会发现并没有什么Test TFS Local项目。还必须执行签入操作,才真正的把项目推送到了TFS,操作如下:

  5. 经过前面的四步,我们已经把本地项目签入到了TFS中Test TFS项目下,访问第2步中记下的url,如图,可以观察到我们的项目Test TFS Local了

五、Visual Studio +TFS进行简单的签入、签出操作

  1. 第一次更改。接着上面的操作,我们将Test TFS Local中的源.cpp代码修改如下:

    #include<iostream>
    using namespace std; int main(){
    //init commit
    //first change
    return ;
    }

    然后仿照章节四中第四步后半部分签入的操作,将本次更改签入到TFS,注释填写为first change commit。仿照章节四中第五步的操作,观察在TFS中源.cpp是否变化,正确操作的话,应该多了一行

    //first change
  2. 为第一次更改打上标签,便于以后签出:

  3. 第二次更改,将源.cpp代码更改为
    #include<iostream>
    using namespace std; int main(){
    //init commit
    //first change
    //second change
    return ;
    }

    然后签入,注释为second change commit

  4. 先在,无论是TFS上的最新版本还是本地的最新版本,源.cpp代码都和3中一样,那么我们如何获取first change commit之后的那个版本呢,在第2步中,我们为first change commit之后的那个版本打上了标签version 0.1,我们根据这个标签来签出该版本,操作如下:

  5. 再次观察代码,是不是second change消失了?

六、结语

Visual Studio+TFS功能远不止这些,我将在后续文章中做详细介绍。如有疑问,欢迎交流:-)

PS:我的大部分文章首发在知乎专栏:关于计算机的一些事,欢迎大家关注

Visual Studio+TFS--强大的项目管理工具的更多相关文章

  1. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  2. Visual Studio TFS Branching and Merging Guidance

    Origin URL:https://msdn.microsoft.com/en-us/magazine/gg598921.aspx Bill Heys and Willy-Peter Schaub ...

  3. 总结 Visual Studio 2019 发布以来 XAML 工具的改进

    不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了.虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有 ...

  4. 转:与Microsoft Visual Studio集成良好的第三方工具

    我们都知道,Microsoft Visual Studio(简称VS)是微软开发的一个非常高效的集成开发环境,但即使已经发展到VS2012,仍然有许多不尽人意的地方.一般来讲,一个项目中需要有控件.代 ...

  5. Visual Studio 2013下JSON可视化工具

          Visual Studio 2013现在我们有个小工具可以实现JSON可视化,这样给我们调试JSON提供了便利. JSON这种数据格式已经比较流行,在WEB前端随处可见. 在你需要安装VS ...

  6. Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题

    前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...

  7. Visual Studio高效实用的扩展工具、插件

    说明: 对一个有想法的程序员来说,善于使用一款高效的开发工具是很重要的,今天给大家介绍的是宇宙第一IDE vs用起来很不错的开发工具,假如大家觉得不错也可以尝试的用用,毕竟对于我们这些一天一大半的时间 ...

  8. Angular14 Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题、emmet安装

    前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...

  9. Visual Studio: 一键卸载所有组件工具,彻底卸载干净。

    第一步.手动卸载VS主体 第二步.下载工具并解压 网盘下载地址:https://pan.baidu.com/s/1eSHRYxW 也可以在Github上下载最新版本:https://github.co ...

随机推荐

  1. java集合类的学习(二)

    ArrayList,LinkedList,Vector都是List的实现类,前两都没有实现同步机制,Vector实现了同步机制.他们代码类似. ArrayList代表大小可变的数组,允许对元素进行快速 ...

  2. 远程联机linux主机

    远程联机linux主机 推荐使用 ssh  如 ssh user@www.abc.com(ssh使用公钥+私钥非对称加密,数据传输安全,不要使用telnet) 传输文件:sftp 或者 scp 若想使 ...

  3. NOIP 考前 高斯消元练习

    POJ 1830 列出n个方程右边为最后的情况 每一行代表第几个灯的情况,每一行代表是否按第几个按钮写出方程即可. #include <cstdio> #include <cstri ...

  4. 关于HTML标签那些事儿

    关于html相信对于每一个互联网从业者来说实在熟悉不过的一个名词,特别是web前端工程师来说更是基础中的基础.html是hyper text markup language的首字母缩写,翻译过来就是超 ...

  5. SharePoint 2013配置 Workflow Manager

    折腾了好几天,用Windows Server 2012 R2安装 SharePoint Server 2013都没装上去.最后发现必须安装带SP1的SharePoint 2013,不然那一步IIS永远 ...

  6. 【转】浅思OC的语言特性

    算了算,学习IOS已经有一段时间了.今天花了点时间思考一下OC的语言特性,让自己的心不要那么浮躁,注重基础,回归本源. OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装.继承.多态.他具有 ...

  7. 在Ubuntu 12.4 下安装 nginx, MySQL, PHP

    LNMP是时下很流行的网站配置,我在配置蝉大师服务器的时候顺带把经验做个分享,蝉大师的网址是:http://www.ddashi.com/ 1.第一步, 跟新apt-get 输入: sudo apt- ...

  8. [GodLove]Wine93 Tarining Round #6

    比赛链接: http://vjudge.net/contest/view.action?cid=47642#overview 题目来源: 2012 ACM/ICPC Asia Regional Jin ...

  9. jekins 持续集成手记

    1.安装一个干净Ubuntu14.04桌面版本 2.打开http://jenkins-ci.org/ 官网, 选择use jenkins 中, Installing Jenkins on Ubuntu ...

  10. /date(-62135596800000)转换正常格式的时间

    function formatDatebox(value) { if (value == null || value == '') { return ''; } var dt = parseToDat ...