问题描述
给大家分享一些分布式版本控制系统。什么是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或GoogleCode这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pullrequest”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。Gitlab镜像环境如果您想自建代码版本控制的环境,gitlab镜像环境是一个不错的选择。我们的GitLab代码管理(Centos64位|GitLab)镜像环境,不用安装配置,详细的帮助说明文档,让您方便快捷的立即体验gitlab环境,当然您也可以根据自己的需求,选择驻云svn镜像环境。gitlab镜像环境(及所有驻云镜像环境),我们一直追求开源精神。镜像环境均免费使用,免费的技术支持与帮助。并且有一点不可忽略的是,我们开放镜像环境安装脚本。安装过程完全透明化。即使您不选择镜像环境,您也可自行使用安装脚本,在相应系统上自行初始化安装。本文有什么不足的地方,希望大家多多补充以及拍砖!也欢迎大家来信进行更多交流:operator@jiagouyun.com
解决方案
解决方案二:
解决方案三:
人反而如果认购人感染
解决方案四:
这么复杂啊?