svn 使用(一个)
一个. 安装svn server(操作系统centos)
yum install subversion
通过 subversion -v 如果成功安装命令来查看
温馨提示不承担任何subversion 命令 要创建svn 库
运行命令:
mkdir -p /svn/repos
svnadmin create /svn/repos
cd /svn/repos
ls
能够看到多出了很多文件和目录::conf db format hooks locks README.txt
此时svnserver的安装基本完毕了。
二. svn配置
cd /svn/repos/conf
ls
能够看到文件:authz passwd svnserve.conf
1.首先配置passwd文件
vi passwd
加入类似账户
m0sh1 = admin
#格式为 username = password
保存退出
2.配置authz文件
加入内容
[/]
m0sh1
#这两句表明 用户m0sh1 对整个文件夹都有訪问的权限(你能够自己去设定更具体的文件夹权限)
3.配置 svnserve.conf
anon-access = none # 使非授权用户无法訪问
auth-access = write # 使授权用户有写权限
password-db = password # 密码文件
authz-db = authz # 訪问控制文件
realm = m0sh1Svn
採用默认配置. 以上语句都必须顶格写, 左側不能留空格, 否则会出错.
三. 开启服务进行測试
启动svn
svnseve -d -r /svn/repos
#假设已经执行了svn 还想再创建一个。能够通过设定不同port来解决此问题
svnseve -d -r /svn/repos2 --listen-port 3313
启动成功后我们就能够通过本地的 TortoiseSVN 连接了(TortoiseSVN自行搜索下载就可以)
svn 链接地址:
svn://server address (假设指定port须要加入port :port号)
四. 创建项目
1.你能够直接在这个svn server 所在的服务器上通过命令
svn improt project 导入项目
svn add file 加入文件(文件夹)
2.在windows 下使用 TortoiseSVN 工具 选中项目文件夹右键点击import 留下message 提交就可以
3.在windows 下新建文件夹右键鼠标选择checkout。然后将项目文件拷贝到此文件夹,最后右键commit就可以(留下message)
五. svn 版本号管理
SVN 的结构通常是这种:
svn:// your project
+trunk/
app/
lib/ ...
+branches/
+braches_1.0/
+tags
+tag_release_1.0
当有开发需求的时候。从主干(trunk)上做分支(branch),当一个分支开发完成,測试无误的情况下应该
合并到trunk上,假设在trunk上有问题能够在trunk做一些改动。当完毕一个阶段,有一个能够公布的稳定项目
版本号就能够打个tag了。
trunk中放置的始终都应该是一个稳定的版本号, 在分支开发的开发者应该常常和trunk同步(trunk merge 到branch
这不会改变trunk的代码)。否则你会和trunk版本号越来越远。分支合并到主干的时候要进过细致測试后才干提交到commit
(可是commit 又应该尽快,防止别人也改动了trunk)
当然总体的流程应该根据实际情况设定。
svn的merge 能够单独搜索相关资料。^ _ ^
下节会简单总结一下 svn hook的使用。
比如上面的如果是一个web项目,trunk更新,同一时候web測试server也更新trunk代码。
版权声明:转载请注明出处:http://blog.csdn.net/m0sh1
svn 使用(一个)的更多相关文章
- SVN基于一个branch创建新branch
在本地现有Branch(Checkout出来的目录)上,右键SVN,选择Branch/Tags,选择目录.比如https://sadcsc01.pmmr.com/web/Jaguar/branches ...
- 【svn】一个设置,少写几个字
以下场景仅适用于修改bug的时候,在提交代码的时候少写几个字,嘿嘿: 1.打开[SVN 属性],在代码目录右键 2.打开BUG跟踪设置窗口 3.输入BUG的URL前缀以及%BUGID%,如 复选框,建 ...
- IDEA 使用 SVN的一个注意点
IDEA是调用SVN.EXE来实现相关版本管理功能的,所以必须要安装visualSVN,然后再使用相关功能!
- 基于saltstack svn的一个发布系统
1.登录页 2.分组管理页 3.添加项目页 4.项目列表和项目编辑页 5.项目发布回滚页
- 从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境
★几个关键的事项★ 需要关闭防火墙filewalld跟selinux ,在root用户下操作: [root@localhost svnRepos]# systemctl stop firewalld ...
- svn 巧用,如果遇到问题解决不了,而上一个版本可以正常使用,则可以查记录
svn 巧用,如果遇到问题解决不了 1.svn上一个版本可以正常使用的情况下 2.查看历史 3. 丢失的代码复制回来即可
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- [Linux & SVN] SVN介绍及Linux下SVN命令收录
1. SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移 ...
- svn在linux上的安装
什么是svnSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subv ...
- [转]svn 清理失败 (cleanup 失败) 的解决方法
转载网址:http://www.tuicool.com/articles/biy6na 今天svn遇到一个头疼的问题,最开始更新的时候失败了,因为有文件被锁住了.按照以往的操作,我对父目录进行clea ...
随机推荐
- 窗口显示于parent控件上(用到了ManualDock函数)
procedure TForm1.btn1Click(Sender: TObject); begin with TForm2.Create(self) do begin ManualDock(self ...
- qt+boost::asio+tcp文件传输
客户端: void qt_boost::pbSendFileClicked(){ QString filename = ui.leFileName->text(); QByteArray ba ...
- java OOP及相关基础知识汇总(转)
OOP 对象有三个要素 behavior 接口是怎样的,有什么方法/field可以用? state 调用方法的时候,对象会有什么反应? 只有通过调用方法才能改变一个对象的state identity ...
- VC调试篇
难怪很多前辈说调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件. 我以前接触的程序大多是有比较成形的思路和方法,调试起来出 ...
- Redis 学习笔记五 经常使用php函数
PHPRedis的安装在这里: http://blog.csdn.net/xundh/article/details/46288277 键值操作 $redis = new Redis(); $redi ...
- java定义和实现接口
1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体.当中接口体由常量定义和方法定义两部分组成.定义接口的基本格式例如以下: [修饰符] in ...
- POJ 1742 hdu 2844 Coins
题目链接:http://poj.org/problem?id=1742 http://acm.hdu.edu.cn/showproblem.php?pid=2844 题目分类:动态规划 代码: #in ...
- 执行命令行并等待完成(使用WaitForSingleObject达到目的)
function TDMDb.WaitExeFinish(const sCmdName: string):boolean; var StartupInfo: TStartupInfo; Process ...
- 图像编程学习笔记2——bmp位图平移
以下文字内容copy于<<数字图像处理编程入门>>,code为自己实现,是win32控制台程序. 2.1 平移 平移(translation)变换大概是几何变换中最简单的一种了 ...
- 使用 SQLNET.EXPIRE_TIME 清除僵死连接
数据库连接的客户端异常断开后,其占有的相应并没有被释放,如从v$session视图中依旧可以看到对应的session处于inactive,且对应的服务器进程也没有释放,导致资源长时间地被占用,对于这种 ...