现在的开发工作都是由团队合作来完成开发,通常都是团队中的每个人或者每几个人完成一个模块的开发,最后再将模块拼凑起来,形成一个完整的项目,这就涉及到了协同开发。在各个模块的开发过程中,肯定会因为出现BUG或者需求更改,而进行代码的修改甚至重构的,代码每修改一次就相当于迭代了一次版本,一个完整的项目中通常会有多个模块,如果每个模块的开发过程中都会修改或重构代码,那么如果没有一个平台来管理、控制这些代码,肯定会造成代码混乱的局面。所以这时候就有了一个概念:版本控制,代码管理平台的主要功能就是进行版本的控制,以及记录代码修改、版本迭代的历史信息。
版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况
svn全称subversion,是一个开源版本控制系统,始于2000年
git是linux创始人linus发起的,2005年发布,最初目的是更好管理linux内核代码
git和svn不同在于:svn是集中型的,有一个中心的服务端,而git是分散型的,git不需要依赖服务端就可以工作,即git是分布式的
github是基于git的在线web页面代码托管平台,公开库是免费的,而私有库则是付费服务
gitlab可以认为是一个开源的github,两者没有直接关系
安装命令:
yum install -y subversion
创建版本库:
完成以上配置后,启动svn服务:
我这里使用两台机器作为测试的客户端。
客户端也需要安装subversion:
在客户端A中检出服务端的myproject版本库:
在客户端B中也是如上操作,就不赘述了。
在客户端B上随便拷贝个文件到检出来的版本库里,然后上传到服务端:
在客户端A上同步服务端的文件,这时就会同步刚刚客户端B上传的文件:
删除本地文件:
删除服务端的文件:
查看变更日志:
本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/2059913,如需转载请自行联系原作者