【经验分享】镜像环境之版本控制

staycloud 2015-05-22 03:20:23
给大家分享一些分布式版本控制系统。

什么是git?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。说简单点,git是一款代码管理工具。
说起svn,也许大家都不陌生。虽然git及svn都是版本控制工具,但是两者有着本质的区别。最大区别在于,git是分布式,而svn是集中式。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者机器上都是一个完整的数据库。

Git的功能特性:
从一般开发者的角度来看,git有以下功能:
从服务器上克隆数据库(包括代码和版本信息)到单机上;
在自己的机器上创建分支,修改代码;
在单机上自己创建的分支上提交代码;
在单机上合并分支;
新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并;
生成补丁(patch),把补丁发送给主开发者;
看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过;
一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
查看邮件或者通过其它方式查看一般开发者的提交状态;
打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用);
向公共服务器提交结果,然后通知所有开发人员。

Git的优缺点
优点:
适合分布式开发,强调个体
公共服务器压力和数据量都不会太大
速度快、灵活
任意两个开发者之间可以很容易的解决冲突
离线工作

缺点:
资料少
学习周期相对而言比较长
不符合常规思维
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息

Gitlab是什么?
说起gitlab,不得不提的是github。作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库。总之,GitLab是一个开源应用程序,拥有与Github类似的功能,使用git作为代码管理工具,并在此基础上搭建起来的web服务。

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

Gitlab镜像环境
如果您想自建代码版本控制的环境,gitlab镜像环境是一个不错的选择。我们的GitLab代码管理(Centos 64位 | GitLab)镜像环境,不用安装配置,详细的帮助说明文档,让您方便快捷的立即体验gitlab环境,当然您也可以根据自己的需求,选择驻云svn镜像环境。

gitlab镜像环境(及所有驻云镜像环境),我们一直追求开源精神。镜像环境均免费使用,免费的技术支持与帮助。并且有一点不可忽略的是,我们开放镜像环境安装脚本。安装过程完全透明化。即使您不选择镜像环境,您也可自行使用安装脚本,在相应系统上自行初始化安装。

本文有什么不足的地方,希望大家多多补充以及拍砖!
也欢迎大家来信进行更多交流:operator@jiagouyun.com

...全文
357 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28015349 2015-05-26
  • 打赏
  • 举报
回复
这么复杂啊?
qq_28404793 2015-05-22
  • 打赏
  • 举报
回复
人反而如果认购人感染

932

社区成员

发帖
与我相关
我的任务
社区描述
云计算 云存储相关讨论
社区管理员
  • 云存储
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧