.NET零基础入门之02:源码控制管理器的使用

一:概述

源码控制管理器,也叫“版本控制”软件,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是专业软件公司的基础工具。它主要是协助在多人团队中控制代码,防止代码管理混乱、代码冲突,对代码拥有者进行权限控制等。最课程(www.zuikc.com)的.NET培训为了最大程度的对学员负责,从您刚入班就教会您怎么使用源码控制,并且我们的教师还会通过源码控制来修改您的代码。

源码控制主要存在如下的操作:

签入文件或目录

此操作将工作目录作为新版本复制回存储库。

签出文件或目录

此操作从存储库中将文件的最新修订版本复制到工作空间。签出目录时,将签出该目录下的所有文件和子目录。

提交文件或目录

此操作与签入文件或目录相同。版本控制用户会经常说他们“已提交更改”;这表示他们对各自文件的工作副本做了更改,并将这些更改提交到存储库。

冲突

当两名开发人员对同一文件的工作副本进行更改,并将这些更改提交到存储库时,他们的工作可能会发生冲突。在这种情况下,源码管理软件将检测冲突,并要求某个人先解决该冲突,然后再提交他们的更改。

合并

将对相同文件的不同工作副本进行的多个更改合并到源存储库中。合并是一种管理冲突的策略,它允许多名开发人员同时工作(不必对文件进行锁定),然后将他们的工作并入一个组合版本中。当对同一文件的不同行进行两组更改时,合并这两组更改很容易,而合并操作也可正常进行。但对文件的同一行或几行进行更改时,将发生冲突,这就要求有人手动编辑该文件,然后才能将这些更改成功提交到源存储库。

二:最课程源码控制(TFS)

最课程(www.zuikc.com的源码控制,最开始使用微软提供的 TFS(team foundation server)。注意,由于各种各样的问题,Party现在越来越不待见外企,即便包括微软这样的公司,某些服务也时不时的被墙或者不稳定一下。微软提供的TFS服务在过去的两年中,时不时会出现一下无法连接或者速度超慢,故,当前最课程(www.zuikc.com)的源码服务已经迁移到 淘宝Code 上。但,TFS作为自主源码服务器,仍旧被很大一部分的公司使用,所以,我们仍旧需要掌握下这个工具。

TFS它分为服务器端部分和客户端部分:

其服务器端部分,是一个单独的软件,需要配置在服务器上,在我们的课程中,我们使用微软免费提供给我们的 TFS 服务器端。

而客户端,就是我们使用的编码工具 Visual Studio 2013(以下简称 VS),我们可以通过 VS,签入和签出代码。

为什么最课程要使用源码控制工具

基于两个原因:

1:最为学员的你完成 最课程(www.zuikc.com中的代码,最课程(www.zuikc.com的老师需要 Check 你的代码,这能保证你在 最课程(www.zuikc.com学习中编写的每一行代码都逃不过我们的审核;

2:专业的软件公司,在软件开发过程中,都有一个流程,叫做 同行评审(Peer Review),这类似于我们的教师 评审 你的代码,如果你在 最课程(www.zuikc.com中已经熟悉了这个过程,那么踏上工作之路,对此就不会觉得陌生。

三:添加打老鼠游戏解决方案到服务器

我们再接再厉,在本节中直接把打老鼠这个游戏的解决方案先建立完毕。和“Hello World”一样,我们新建工程:

打老鼠游戏,不再是一个简简单单的控制台程序了,而是有界面的一个应用程序,所以我们这次选择的项目类型为“Windows Forms Application”,注意Loction我们选择了刚才的TFS中MAP到的路径。输入工程名:MouseHit,解决方案名:MouseHitSlu,点击OK,出现如下界面:

紧接着,在解决方案名上点右键,在右键菜单中,我们选择“Add solution to Source Control”,我们会发现VS中的文件前面多了几个“+”号:

这说明TFS标识为这几个文件是新增的,这个时候,我们再点击解决方案名的右键,选择“Check in”:

会出现如下界面:

把注释写入,然后点击“Chech in”,说明我们完成一次签入过程,我们的代码就已经传送到了服务器了。这个时候,我们在回到“Solution Explorer”的页签,见下图下方的红色处,然后检查刚才为“+”号的文件前方,已经变成了一把锁的图标。这表明:是的,我们的文件已经被服务器所控制了。

再进一步的,回到VS的Source Control Explorer,我们会发现,刚才签入的代码已经存在于服务器了,见下图:

好了,到了这一步,我将会在TFS上看到你提交的代码,不妨等待我的回复,看我在你的代码中修改了什么,以及加入了什么注释。

四:连接TFS源码服务器

最课程(www.zuikc.com的学员,都会由 最课程(www.zuikc.com分配一个 TFS 帐号,比如:[email protected](这是我们的演示帐号,实际上,你收的帐号,可能是 [email protected])。

其次,我们还会告诉你一个 TFS 的源码地址,比如:zuikc.visualstudio.com,然后,我们需要经过如下的步骤连接到源码服务器:

1:打开 VS -> Team -> Connect to Team Foundation Server;

2:Select Team Projects,选择 Server -> Add ,输入:zhangsan.visualstudio.com(示例),确定,输入用户名和密码;

3:点击 Connect,就可以看到 VS 中展开了源码管理的页面;

在这个页面中,最课程(zuikc.com)已经给你创建了一个最基本的控制台应用程序,你的最开始的作业,就可以在这个控制台程序中完成。下一节,你可以通过视频来看到上面的操作。

4:在 源码管理 页面,我们还在把在 TFS 上的路径和本地硬盘上的文件关联起来,这就是 Map 的过程,MAP 成功,就会把服务器上的代码下载到本地;

五:Map 服务器地址到本地

现在我们要做的,就是让TFS的空间地址和你硬盘上的地址绑定起来。这个时候,我们需要点击2处的“Source Control Explorer”,然后我们会看到如下界面:

在这个界面中,显示的是我为你创建的TFS文件夹(它相当于服务器上硬盘上的一个文件夹)。

我们会注意到,这个界面中,1处显示的是Not mapped,这说明我们还没有将TFS的地址和本地硬盘上的地址绑定起来。这个时候我们点击它,打开如下界面,然后选一个本地地址:

然后点击Map,然后出现如下界面,然后确定,就可以了。

经过上面这些步骤的操作,我们就在TFS的网站创建了一个自己的TFS空间,然后我们就可以把自己的代码签入到这个空间里,别人也就可以获取和修改你的代码了。当前的VS界面如下。注意红线部分已经变成了我们选择的路径,路径后面自带了我们的TFS空间名:

六:TFS视频

非公开部分,请联系 www.zuikc.com 获取;

七:最课程源码控制(淘宝Code)

鉴于上文说到的原因,微软提供的TFS我们已经不建议使用,那么,现在我们使用的是淘宝Code(http://code.taobao.org/)。也确实,现在国内的软件公司无论从技术上还是硬件上,都已经可以和国际顶尖公司抗衡,尤其在国内的环境下,甚至更好。

淘宝Code,使用的是 SVN 来进行源码控制。SVN是一款非常著名的版本控制软件,应用非常广泛,从市场占有率上来说,应该排在第一。使用SVN来进行源码控制,对于VisualStuio来说,还需要装两个软件,一个是:TortoiseSVN(http://tortoisesvn.net/),一个是:VisualSVN(https://www.visualsvn.com/),这里不再指定版本,我们可以到官网下载然后进行安装。

安装完毕后,我们还需要到http://code.taobao.org/去注册一个帐号,注册的过程非常简单,一切完毕后,登录淘宝Code,然后看到的界面类似于:

八:连接淘宝Code源码服务器

首先,我们需要在淘宝Code上面创建自己的项目,如下:

注意哦,最好不要选择公开项目,因为我们目前的编码能力还很弱,你只需要对最课程(www.zuikc.com)的老师可见就可以了,所以,公开项目这里我们选择了否。

创建完毕,界面大概是这样的:

这个时候,我们打开 VisualStuio,在 Tools-Option 中选择 Source Control,选择 VisualSVN 作为我们的源码控制器,如下:

现在,打开我们的解决方案(或者新建解决方案),在解决方案名上面点右键,选择 Add Solution To Subversion:

然后,下一步,选择:

下一步,输入自己的项目名,最好在后面加入 trunk:

下一步:

点击 Import ,稍候,我们的解决方案就注册到了淘宝Code上了。看到这个界面,就说明这一步成功了:

下一步,我们还需要把代码签入进去。在解决方案上,点右键,找到 Commit,点击:

出现这个界面:

然后,点击 OK,就签入成功了。注意,查看,此时解决方案中的黄点变成了绿点。

到TaobaoCode上去刷新下界面,看到了如下的界面:

好的,这就说明我们的代码签入成功了。

备注:TFS和SVN的签入和获取最新有不同,其对应关系为,

Check In        -》   Commit

Get Latest Version    -》 Update

时间: 2024-08-28 03:52:17

.NET零基础入门之02:源码控制管理器的使用的相关文章

Python3零基础入门学习视频+源码+课件+习题-小甲鱼

目录 1. 介绍 2. 目录 3. 下载地址 1. 介绍 适用人群 完全零基础入门,不需要任何前置知识. 课程概述 本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程. 前半部分主要讲解Python3的语法特性,后半部分着重讲解Python3在爬虫.Tkinter.Pygame游戏开发等实例上的应用.整个系列共16个章节,前边13个章节从一个小游戏引入Python,逐步介绍Python的语法以及语言特色.最后3个章节为案例的演示,是前边内容的总结和提高. 其他介绍 2.

Android基础入门教程——10.1 TelephonyManager(电话管理器)

Android基础入门教程--10.1 TelephonyManager(电话管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本章节是Android基础入门教程的最后一章,主要讲解是一些零零散散的一些知识点,以及一些遗漏 知识点的补充,这些零散的知识点包括,各种系统服务的使用,比如本节的电话管理器,短信管理器, 振动器,闹钟,壁纸等等,还有传感器之类的东西!乱七八糟什么都有哈!好的,本节我们要学习的 是TelephonyManager,见名知义:用于管理手机通话状态,获取电

Android基础入门教程——10.9 WallpaperManager(壁纸管理器)

Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager(壁纸管理器),如其名,就是手机壁纸相关的 一个API,在本节中我们会描述下WallpaperManager的基本用法,调用系统自带的 壁纸选择功能,将Activity的背景设置为壁纸背景,以及写一个定时换壁纸的例子~ 好了,不BB,开始本节内容~ 官方API文档:WallpaperManager 1

Python抓取电影天堂, 零基础都可以学? 源码&视频教程, 大赞!

我此次利用Python爬取电影天堂包含的源码非常清晰,所以说零基础的Python新手也能够轻松学会,真的一点都不过分. 先看我们的部分代码与爬取到的结果: 爬取到的电影资源:(可以获取视频教程) 步骤: 1. 首先导入需要的模块 2. 获取网页信息.解析结果 3.存储结果 3.编写主函数 4.运行源代码 工具: VS Code.Python3 Python最新爬取电影天堂源代码,跑代码即可爬取资源 源代码背后都有相关解释,各步骤我不进行相关讲解的原因. 原文地址:https://www.cnbl

Android基础入门教程——10.3 AudioManager(音频管理器)

在多媒体的第一节,我们用SoundPool写了个Duang的示例,小猪点击一个按钮后,突然发出”Duang”的 一声,而且当时的声音很大,吓死宝宝了,好在不是上班时间,上班时间偷偷写博客给经理知道 会作死的~嗯,好的,说到这个声音大小就得介绍下Android为我们提供的(音量大小控制)的API: AudioManager(音频管理器)了,该类位于Android.Media包下,提供了音量控制与铃声模式相关操作!... www.mafengwo.cn/i/4012346.htmlwww.mafen

2019刘老师教你用springboot2.x开发整合微信支付的线上教育平台带源码送springboot2.x零基础入门到高级实战教程

第一部分:springboot2.x零基础入门到高级实战教程一.零基础快速入门SpringBoot2.0 1.SpringBoot2.x课程全套介绍和高手系列知识点 简介:介绍SpringBoot2.x课程大纲章节 java基础,jdk环境,maven基础 2.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 3.快速创建SpringBoot2.x应用之手工创建web应用 简介:使用Maven手工创建SpringBoot2.x应用 4

【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-终端源码

[CC2530入门教程-增强版]基础技能综合实训案例(基础版)-终端源码 广东职业技术学院 欧浩源 一.关于硬件电路 关于这个综合实训案例,具体需求详见<[CC2530入门教程-增强版]基础技能综合实训案例(基础版)-题目需求>. 我自己实在"全国职业院校技能大赛--物联网技术应用赛项"的Zigbee模块上实现的.该模块的电路应该和TI公司官方评估板的推荐电路差不多,我想现在市面上很多开发板也是参考这样的电路设计,只要您使用的开发板上有LED灯.按键输入.串口输出和一路A/

大数据系统学习零基础入门到精通加项目实战2017最新全套视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

Linux及Arm-Linux程序开发笔记(零基础入门篇)

Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html 目录 一.Arm-Linux程序开发平台简要介绍... 3 1.1程序开发所需系统及开发语言... 3 1.2系统平台搭建方式... 4 二.Linux开发平台搭建... 5 2.1安装虚拟工作站... 5 2.2安装Linux虚拟