Visual Studio+TFS--强大的项目管理工具
一、前言
微软的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免费空间呢?
- 以Visual Studio 2013 Ultimate版本为例。首先确定自己是正版用户,然后用微软账号登录到Visual Studio(如果你没有微软账户,动手注册一个:注册Microsoft账户。),如下图所示
2.第一次登录后,会弹出下面的对话框,自定义存储空间的url,记下这个url:
这时会让你建立一个项目,我们跳过此步骤
在浏览器中访问你的url,出现以下界面(可能会略有不同),你已经成功获得了5GB的存储空间。
四、将本地项目签入到TFS
假设以下场景,我们在本机建立了一个项目,想把这个项目签入到TFS中进行项目管理,如分支、合并、签入、签出、版本更迭等,应该怎么做?
在企业用户中使用TFS,首先要在一台服务器上安装TFS,然后可以在TFS中建立多个团队项目集合(Collection),每个团队项目集合相当于一个放置某一个团队各种项目的容器,可以在某个团队项目集合中建立若干团队项目。
我们所得到的5GB的存储空间,实际上就是微软在自家建的云上的TFS服务器上为我们分配的一个团队项目集合(Collection),这个团队项目集合的大小为5GB,还需要注意的是,我们不能直接把一个本地的项目签入到团队项目集合根目录下,必须先在团队项目集合中新建一个团队项目,然后在把本地项目签入到该团队项目中去,下面我将演示这些操作。
- 打开visual studio,连接到我们的团队项目集合
- 出现下图所示,则表示已经连接成功
- 我们要在团队项目集合中新建一个团队项目,然后把本地项目签入到这个团队项目中,这样才能进行项目管理的操作(注意,这个项目并没有在本地创建),操作如下:
点击新建团队项目后会打开下面的网页,填写相应项
创建成功
- 将本地项目纳入到TFS进行项目管理。首先我在本机上新建了一个名为Test TFS Local的空项目,添加了了一个源.cpp文件,代码如下:
#include<iostream>
using namespace std; int main(){
//init commit
return ;
}然后我们将这个项目纳入到我们在第3步中建立的团队项目Test TFS中,操作如下:
完成这些操作后,细心的你可能会发现在解决方案前多了一个绿色的小加号,如下图所示
注意,截至到目前我们并没有把本地项目签入到TFS中,你可以在浏览器中访问你的url,你会发现并没有什么Test TFS Local项目。还必须执行签入操作,才真正的把项目推送到了TFS,操作如下: - 经过前面的四步,我们已经把本地项目签入到了TFS中Test TFS项目下,访问第2步中记下的url,如图,可以观察到我们的项目Test TFS Local了
五、Visual Studio +TFS进行简单的签入、签出操作
- 第一次更改。接着上面的操作,我们将Test TFS Local中的源.cpp代码修改如下:
#include<iostream>
using namespace std; int main(){
//init commit
//first change
return ;
}然后仿照章节四中第四步后半部分签入的操作,将本次更改签入到TFS,注释填写为first change commit。仿照章节四中第五步的操作,观察在TFS中源.cpp是否变化,正确操作的话,应该多了一行
//first change
- 为第一次更改打上标签,便于以后签出:
- 第二次更改,将源.cpp代码更改为
#include<iostream>
using namespace std; int main(){
//init commit
//first change
//second change
return ;
}然后签入,注释为second change commit
- 先在,无论是TFS上的最新版本还是本地的最新版本,源.cpp代码都和3中一样,那么我们如何获取first change commit之后的那个版本呢,在第2步中,我们为first change commit之后的那个版本打上了标签version 0.1,我们根据这个标签来签出该版本,操作如下:
- 再次观察代码,是不是second change消失了?
六、结语
Visual Studio+TFS功能远不止这些,我将在后续文章中做详细介绍。如有疑问,欢迎交流:-)
PS:我的大部分文章首发在知乎专栏:关于计算机的一些事,欢迎大家关注
Visual Studio+TFS--强大的项目管理工具的更多相关文章
- 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份 http://www.dotblogs.com.tw/ ...
- Visual Studio TFS Branching and Merging Guidance
Origin URL:https://msdn.microsoft.com/en-us/magazine/gg598921.aspx Bill Heys and Willy-Peter Schaub ...
- 总结 Visual Studio 2019 发布以来 XAML 工具的改进
不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了.虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有 ...
- 转:与Microsoft Visual Studio集成良好的第三方工具
我们都知道,Microsoft Visual Studio(简称VS)是微软开发的一个非常高效的集成开发环境,但即使已经发展到VS2012,仍然有许多不尽人意的地方.一般来讲,一个项目中需要有控件.代 ...
- Visual Studio 2013下JSON可视化工具
Visual Studio 2013现在我们有个小工具可以实现JSON可视化,这样给我们调试JSON提供了便利. JSON这种数据格式已经比较流行,在WEB前端随处可见. 在你需要安装VS ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
- Visual Studio高效实用的扩展工具、插件
说明: 对一个有想法的程序员来说,善于使用一款高效的开发工具是很重要的,今天给大家介绍的是宇宙第一IDE vs用起来很不错的开发工具,假如大家觉得不错也可以尝试的用用,毕竟对于我们这些一天一大半的时间 ...
- Angular14 Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题、emmet安装
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
- Visual Studio: 一键卸载所有组件工具,彻底卸载干净。
第一步.手动卸载VS主体 第二步.下载工具并解压 网盘下载地址:https://pan.baidu.com/s/1eSHRYxW 也可以在Github上下载最新版本:https://github.co ...
随机推荐
- java集合类的学习(二)
ArrayList,LinkedList,Vector都是List的实现类,前两都没有实现同步机制,Vector实现了同步机制.他们代码类似. ArrayList代表大小可变的数组,允许对元素进行快速 ...
- 远程联机linux主机
远程联机linux主机 推荐使用 ssh 如 ssh user@www.abc.com(ssh使用公钥+私钥非对称加密,数据传输安全,不要使用telnet) 传输文件:sftp 或者 scp 若想使 ...
- NOIP 考前 高斯消元练习
POJ 1830 列出n个方程右边为最后的情况 每一行代表第几个灯的情况,每一行代表是否按第几个按钮写出方程即可. #include <cstdio> #include <cstri ...
- 关于HTML标签那些事儿
关于html相信对于每一个互联网从业者来说实在熟悉不过的一个名词,特别是web前端工程师来说更是基础中的基础.html是hyper text markup language的首字母缩写,翻译过来就是超 ...
- SharePoint 2013配置 Workflow Manager
折腾了好几天,用Windows Server 2012 R2安装 SharePoint Server 2013都没装上去.最后发现必须安装带SP1的SharePoint 2013,不然那一步IIS永远 ...
- 【转】浅思OC的语言特性
算了算,学习IOS已经有一段时间了.今天花了点时间思考一下OC的语言特性,让自己的心不要那么浮躁,注重基础,回归本源. OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装.继承.多态.他具有 ...
- 在Ubuntu 12.4 下安装 nginx, MySQL, PHP
LNMP是时下很流行的网站配置,我在配置蝉大师服务器的时候顺带把经验做个分享,蝉大师的网址是:http://www.ddashi.com/ 1.第一步, 跟新apt-get 输入: sudo apt- ...
- [GodLove]Wine93 Tarining Round #6
比赛链接: http://vjudge.net/contest/view.action?cid=47642#overview 题目来源: 2012 ACM/ICPC Asia Regional Jin ...
- jekins 持续集成手记
1.安装一个干净Ubuntu14.04桌面版本 2.打开http://jenkins-ci.org/ 官网, 选择use jenkins 中, Installing Jenkins on Ubuntu ...
- /date(-62135596800000)转换正常格式的时间
function formatDatebox(value) { if (value == null || value == '') { return ''; } var dt = parseToDat ...