一、代码管理平台介绍、安装SVN、客户端上使用SVN(Linux)、Windows
一、代码管理平台介绍
版本控制,记录若干文件内容的变化,以便将来查阅特定版本修订情况
版本管理工具发展简史,CVS→SVN→Git
CVS:兼容性不太好。
SVN:太慢。全名:Subversion,是一个开源版本控制系统,始于2000年。
Git:Linux创始人linus发起的,2005年发布,最初目的是更好的管理Linux内核代码。
Git和SVN不同在于Git不需要依赖服务端就可以工作,即Git是分布式的。
关于Git和SVN的比较,参考http://blog.lishiming.net/?p=305
SVN和Git的最主要的差异——分布式。
SVN优势:
1.存储
SVN服务器既具有CVS所具有数据储存的优点,数据一般不会丢失,同时又拥有自己的特色。SVN是通过关系数据库及二进制的存储方式,同时解决了既往不能同时读写同一文件等问题,同时增添了自己特有的“零或一”原则。
2.速度
与初始的CVS相比,SVN在速度运行方面有很大提升。因为SVN服务器只支持少量的信息、资源传输,与其他系统相比,更支持的是离线模式,因此避免了网络拥挤现象的出现。
3.安全性
SVN是一种技术性更加安全的产品,实现了系统和控制两方面的结合。一方面可以将系统整体的安全功能有效地分布在分支系统中,进而保证分支系统能正常运行,从而使各分支系统能够互补,最终在系统整体性的安全性得以保障,通过均衡原则实现最终追求安全的目的。
Git优劣势:
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
GitHub是基于Git的在线web页面代码托管平台,可以选择付费服务。
Gitlab可以认为是一个开源的GitHub,两者没有直接联系。
一句话区分,git是管理工具,github是在线的基于git的平台(或者叫做服务)。gitlab和github一样,也是一个基于git的提供web界面的代码管理平台。
二、安装SVN
# yum install -y subversion
创建版本库
# mkdir -p /data/svnroot/myproject //该目录路径可自定义
# svnadmin create /data/svnroot/myproject //在这个目录下初始化一些文件
# cd !$/conf #authz为权限配置文件,passwd为密码文件,svnserve.conf为SVN仓库的配置文件。
[code=bash;toolbar:false"># vim authz //配置文件新增内容如下: [groups] admins = aming,user1 //加到用户组的下面 [/] @admins = rw //@后面跟组名 * = r //除了admins组以外的所有人只有只读的权限。 [myproject:/] user1 = rw # myproject指项目名,这种用法适合于/data/svnroot/有多个项目的情况下,这只是其中一个项目而已。 # 带冒号指的是一个项目名,这里只有一个项目,可以在这下面创建子目录dir1,dir2。可以写成[/dir1]、[/dir2]的形式。 # 两种不同的形式表达而已。一种是[/dir1]、一种是[myproject:/],一个意思。因为这里只有一个项目。# yum install -y subversion //另一台机器上安装,安装好后就可以使用svn命令了。
# mkdir svntest
# cd !$
# svn checkout svn://192.168.93.130/myproject --username=aming //checkout,检出代码。如果你到一台机器上,从来没有连接过svn服务器的情况下,执行这一步以后,它就可以在本机上保存一个曾经你连接过的svnserve的用户名和密码。上面这条命令可以把远程服务端的myproject项目搞到本地来。
认证领域: /data/svnroot/myproject
“aming”的密码: aming_!(*$123 //此处的密码就是配置文件中设置的密码
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
/data/svnroot/myproject
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes //将密码存在了/root/.subversion/servers下
取出版本 0。
[root@MRX svntest]# ls
myproject
# cd project ; ls -la
总用量 0
drwxr-xr-x 3 root root 18 8月 29 18:43 .
drwxr-xr-x 3 root root 23 8月 29 18:43 ..
drwxr-xr-x 4 root root 75 8月 29 18:43 .svn
[root@MRX myproject]# cp /etc/fstab .
# svn add ./fstab //添加到版本控制中心,把变更的想要搞到服务器上去的东西做个标记
A fstab
# svn commit -m "add file" //把文件上传到服务器。先增加,再上传。
# svn commit -m "add fstab"
正在增加 fstab
传输文件数据.
提交后的版本为 1。
# svn delete filename //在本地删除
# svn commit -m "delete filename" //在服务器上删除
[root@MRX myproject]# svn delete fstab
D fstab
[root@MRX myproject]# svn commit -m "delete fstab"
正在删除 fstab
提交后的版本为 2。
# svn update //把当前目录下的文件都更新到最新版,把本地的和服务端的同步。
# svn log //查看变更日志
/root/.subversion/auth/svn.simple下的密码文件,如果某个用户不想存储了,可以删除这个文件。[p]
- 22.1-22.6 代码管理平台,安装svn以及使用(linux,windows),单机使用git
- Linux中SVN服务器安装与使用以及windows客户端的使用(CentOS-6.5)
- windows平台下使用Github(2 创建代码仓库,安装Github客户端.)
- linux学习:持续集成篇--sonarqube代码质量管理平台的介绍与安装-04
- svn实战-基于windows平台下SVN的安装与使用详细步骤
- svn实战-基于windows平台下SVN的安装与使用详细步骤
- windows下使用Jenkins搭建CI持续集成平台(版本源码管理使用SVN)
- linux svn客户端使用方法介绍
- linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子
- SonarQube代码质量管理平台安装与使用
- SVN客户端安装配置和使用(windows)
- svn 安装与配置文档(linux服务端,windows客户端)
- SonarQube 代码质量管理平台的安装和使用
- Thrift在Windows及Linux平台下的安装和使用示例
- linux学习:持续集成篇--svn版本管理系统的安装与使用-02
- SonarQube代码质量管理平台安装与使用
- SonarQube代码质量管理平台安装与使用
- svn的简单介绍及其在windows系统下的安装及使用
- svn的简单介绍及其在windows系统下的安装及使用
- svn在windows客户端安装以后在linux下svn co code_url报错处理