svn版本管理软件——创建svn私人仓库
来源:互联网 发布:腾讯网络主播大揭秘 编辑:程序博客网 时间:2024/03/28 18:16
用svn客户端新建svn仓库
svn与git不同,git可以没有仓库,直接在代码里面创建git版本管理,但svn为集中式版本管理系统,比不要有仓库统一管理代码。
新建仓库的方法很简单,只要是在空白文件夹里面新建仓库即可。操作如下图所示。
新建版本时,需要创建目录树结构,如下图所示,这样版本库可以用树形方式寻找文件
创建的版本库会出现一些文件,如下图所示。
创建完版本库后,可以直接浏览版本库里面的文件,如下图所示,从版本库的作者来看,作者与Windows的用户名关联。
同时可以看到版本库地址:
file:///E:/工作/技术文档/源码/SVN_warehouse/Project_test
以及各个目录树结构
trunk :存放代码主干branches :存放代码分支tags :存放代码中的各种标记
版本库地址是将代码push和pull的地址。
将代码推向svn仓库
将新的项目推送至新建的svn仓库
通过检出的方式将代码推送至svn仓库
在任何一个想放代码的地方,将新建的svn仓库的主干checkout检出,如下图所示,检出后该文件夹就成为svn的工作区
将代码放进刚刚检出的svn工作区中,在该代码文件夹中单击右键,点击提交代码,如下图所示,最新消息框里面是提交代码的注释。
下图显示提交成功
提交完代码之后,文件的图标会被svn重载,如下图所示
通过导入的方式将代码推送至svn仓库
svn还可以通过导入的形式将代码添加进svn仓库中,选中代码文件夹,单击右键,在svn菜单中选择导入,将代码导入到主干trunk中,如下图所示。
导入完成,在版本库中查看版本库,可以看到代码的加入。如下图所示。
与通过检出的方式不同的是,该方法仅仅是导入代码,还没有svn工作区,需要用到svn版本管理的工作区还需要将导入的代码检出才可以。
在任意地方检出刚刚导入的代码,就可以用svn管理开发。
用svn服务器端新建svn版本库
用svn客户端创建的版本库是不完全的svn版本库,仅仅可以自己检出和提交,而使用svn服务器创建的svn版本库才可以发挥svn的功能。用svn服务器端创建svn版本库需要安装svn服务器端,不同于svn客户端,svn服务器端是管理多个svn版本库的软件,还可以对用户授权使用,进行权限控制。
Windows端安装svn服务器
安装svn服务器端有一下几个步骤
1、 安装svn标准版
svn有标准版和企业版,标准版免费,企业版收费,如下图所示
标准版与企业版的不同
2、 配置svn存储库。
svn服务器端需要有一个地方统一存放svn的所有代码,因此在安装svn服务器端的时候需要配置这个存储库,如下图所示。
端口如果被占用了(安装虚拟机VMware或VirtualBox会占用),则需要在端口配置的下拉菜单中重新选择,如下图所示。
3、 安装完之后如下图所示。
Linux端安装svn服务器
本次以Ubuntu的版本作为Linux端来搭建svn服务器
安装svn 的Linux版本,在Linux部分服务端与客户端,两者结合在一起。
命令:sudo apt-get install subversion
在合适的目录下新建一个文件夹当做svn的仓库文件夹,然后新建svn仓库如下所示
ghost@ghost-virtual-machine:~/warehouse$ mkdir svn_Repositoriesghost@ghost-virtual-machine:~/warehouse$ lssvn_Repositoriesghost@ghost-virtual-machine:~/warehouse$ svnadmin create ./svn_Repositories/ghost@ghost-virtual-machine:~/warehouse$ ls svn_Repositories/conf db format hooks locks README.txtghost@ghost-virtual-machine:~/warehouse$
Windows端svn服务器端配置
svn服务器端可以管理很多svn版本库,同时对每个svn版本库进行用户访问的权限设定。
新建版本库
新建svn版本库步骤如下图所示。
创建时输入版本库名称,版本库可以创建为空,也可以创建带有分支、标签和主干版本的版本库,不过创建为空的版库的话也可以手动创建这些文件夹,权限暂时设置为所有用户可读可写
创建完之后如下图所示,可以在空白地方创建文件夹。
svn创建用户
svn可以创建自己的用户,也可以关联window的登录用户,若使用window的登录用户,建议不使用电脑的administrator用户,而是自己创建一个window登录用户并设置密码,但这里介绍创建svn自己的用户创建svn用户如下图所示,两个创建用户都是一样的。
用户授权管理
svn最大的特点是用户授权管理,git也有用户授权,但git以开源为主流,每个人都是代码库的所有者,可以任意修改。但svn的用户管理可以做到对每个文件夹每个文件进行授权管理,只有授权的用户才能访问或修改。svn为向下授权,即对某个用户授权某个文件夹可读可写,那这个文件夹内的所有文件夹以及文件都授权给该用户可读可写。在想授权的文件夹或版本库单击右键,选择properties,对现有的用户进行授权,如下图所示。
为svn版本库赋予地址
既然是svn版本库,需要给外部访问的接口,此时将svn服务端的接口配置上该电脑的IP地址即可,如果对该服务器电脑有dns解析,就可以用域名映射去配置,这里只介绍IP地址配置配置选项右键单击VisualSVN Server,选择Properties,或在操作中选择properties,如下图所示。
在选项中选择network标签,修改svn访问地址,将地址修改为服务器端电脑的IP如下图所示。
将代码推向svn仓库
将项目代码推向svn版本库,每个svn文件夹都可以成为svn的版本库源,和git不同的是,git只能clone出整个版本的全部内容,而svn却可以checkout出整个版本或版本中的部分内容,这个和svn权限管理分不开的,svn可以做到只能让部分用户阅读和修改属于自己模块的部分代码。因此上传时对地址的选择很重要。
将新建项目的代码推向svn版本库
需要将代码上传到Project_test的master中,右键单击master文件夹复制该地址即可,如下图所示。
有了仓库地址之后,即可通过检出的形式将代码推送至svn仓库,也可以通过导入的方式将代码推送至svn仓库,参照上节初始化svn的方式将代码放入版本库中,此时的URL地址就是复制出来的版本库地址。
检出时需要输入svn的用户名以及密码,如下图所示
将已有的svn项目推向svn版本库
svn服务器端可以将已有的svn项目导入svn版本库中。在操作或Repository中选择Import Existing Repository,如下图所示。
在选择版本库时要注意,选择的是现有版本库的位置而不是检出的正在开发的代码库的位置,svn是以库为基础操作的,而代码的开发不属于库的部署。在导入时选择copy Repository from another location选项,将整个代码库导入,导入时还可以重命名版本库。
导入后如下图所示,这样将新导入的代码复制地址,在工作的文件夹中检出代码就可以了,若检出不成功,说明还没将自己的用户授权。
svn仓库迁移
当服务器需要变更时,服务器里面的SVN仓库数据需要转移到新的服务器中。
项目迁移
如下图所示,转移前原先的仓库状况
在硬盘中的存储位置如下图所示
1、 直接移植
将该仓库所有内容压缩保存,在新的服务器仓库中,有选择的移动覆盖新仓库,如仅仅需要转移Project_test,那就将该文件夹移动到新的仓库中,如下图所示。
2、 新仓库导入
如下图所示,在整个项目中选择导入选项
在第二项选择将项目copy进仓库,选择需要导入的项目文件夹,如下图所示。
选择下一步,文件名称不变,这样就导入完成。
将导入的两个项目重新通过svn检出,可以看到以前的提交都保存着,如下图所示。
项目人员迁移
迁移项目后,其开发的项目人员信息也需要迁移,可以直接新建新的员工信息,但如果员工太多的话则需要迁移过去。将库中的htpasswd文件里面的信息复制到新的库的同文件下。
旧仓库的信息:
zx:$apr1$3vo$1GZpMVj8gN5HKem29O8680zx_work:$apr1$430$7ccQT1M6mXKWHrtBQqhn//
复制到新仓库中的信息:
admin:$apr1$6b9$09wWzYfTcufR61B9C1eJm.zx:$apr1$3vo$1GZpMVj8gN5HKem29O8680zx_work:$apr1$430$7ccQT1M6mXKWHrtBQqhn//
在新的仓库人员管理中就可以看到,如下图所示。
- svn版本管理软件——创建svn私人仓库
- svn版本管理软件——初始化配置
- svn版本管理软件——svn日常管理代码
- svn版本管理软件——svn分支管理
- svn版本管理软件——svn发布补丁和打补丁
- svn(subversion) 版本管理软件
- SVN 代码版本管理软件
- 用svn管理软件版本信息
- svn 创建仓库
- Svn创建本地仓库
- 创建svn仓库
- 创建svn仓库
- svn以及仓库创建
- AndroidStuidoSVN版本控制之创建SVN仓库(一)
- linux下svn使用小结 创建 添加仓库 版本管理
- SVN版本管理软件的配置与安装
- 使用SVN管理软件版本,解决协作问题
- 源代码版本管理软件cvs 与 svn选择
- Android7.0 PowerManagerService(2) WakeLock的使用及流程
- Linux 之 vi 命令详解
- 异常处理和日志
- 数据结构之SplDoublyLinkedList类
- 笔试复习_TCP/IP(一)
- svn版本管理软件——创建svn私人仓库
- Java常见面试题—实现多线程的三种方式
- CY7C68013A控制传输
- 解决NLog输出中文为乱码问题
- .net中的Queue和Stack,及各种list集合使用
- 75.颜色排序
- 人和人最大的差别不是技术上的高低,而是你的人生观价值观
- redhat-kernel-kdump-crash----内核dump文件分析
- for循环删除数组时的问题