Equation 2020-01-19
版本管理工具总结:
开发团队项目,对项目的版本进行管理。
使用过的版本管理工具:
TFS、SVN与Git。
TFS:链接()
SVN:链接()
Git(读音为/g?t/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。(参看百度百科)
GitHub是通过Git进行版本控制的软件源代码托管服务平台,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。
GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开或私有的代码仓库,但付费用户支持更多功能。根据在2009年的Git用户调查,GitHub是最流行的Git访问站点。[3]除了允许个人和组织创建和访问保管中的代码以外,它也提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。GitHub也提供了图表功能,用于概观显示开发者们怎样在代码库上工作以及软件的开发活跃程度。
截止到2015年,GitHub已经有超过两千八百万注册用户[4]和5700万代码库。[5]事实上已经成为了世界上最大的代码存放网站和开源社区。[6]
2018年6月4日晚上,美国科技公司微软宣布以75亿美元的股票收购GitHub[7][8][9]。
参看链接:https://zh.wikipedia.org/wiki/GitHub
两张图看懂集中式版本控制系统和分布式版本控制系统的区别。
集中式管理系统的特点:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
本地是没有版本库的修改记录的,所以集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟。
首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
既然是多人协作,我们肯定是需要指定一个人的电脑作为总仓库,所以人从他的电脑上提交更新,拉取别人的提交,这样才能保证他的仓库保留了所有人的改动。 这个人其实就充当了集中式中的服务器仓库的角色。
所以我们通常说的分布式管理系统的服务器就是其实就是找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。
参看链接:https://www.zhihu.com/question/25577853/answer/550990502
1.集中式版本控制系统(CVS,SVN,TFS)
有一个中央服务器,干活的时候,用的都是自己的电脑,需要先从中央服务器获取最新的版本,然后开始干活,干完活了,再把自己的修改推动给中央服务器。
缺点:需要联网的情况下才能使用,上传速度慢。
2.分布式版本控制系统(最常见的Git)
分布式版本控制系统没有中央服务器,每个人的电脑上都用一个完整的版本库,只要交换对方的修改就行,把各自的修改推送给对方。
分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
优点:安全性高,不需要联网
1、通过GitHub Desktop可视化工具注册Git账号;
2、本地安装Git;
3、创建本地仓库;
4、版本管理。
参看链接:
https://www.cnblogs.com/ximiaomiao/p/7140456.html
https://blog.csdn.net/C10062000/article/details/89854669
如图:从远程下载pdfc文件。
2、可以参看链接:https://blog.csdn.net/easonchenys/article/details/38565123的简单说明。
1、创建本地仓库
2、远程下载文件
1、创建仓库
2、创建分支
3、合并分支
4、解决冲突
5、版本回退