免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1454 | 回复: 0
打印 上一主题 下一主题

[其他] 【经验分享】镜像环境之版本控制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-22 16:35 |只看该作者 |倒序浏览
给大家分享一些分布式版本控制系统。

什么是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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP