项目代码位置: /data/svn/play_out
项目代码目录名称: test
SVN创建位置:/data/svn/repos_Web
svn线上地址:svn://192.168.1.1/repos_Web/trunk //trunk创建svn主干,创建branches分支和创建主干一样。如svn://192.168.1.1/repos_Web/branches
1.安装svn
#yum -y install subversion
2.创建svn版本库
#svnadmin create /data/svn/repos_Web
3.配置svn
#cd /data/svn/repos_Web/conf
#ls
authz passwd svnserve.conf
#vim authz //认证用户文件
[groups]
Technical = danny,tom,jeck //用户分组
[repos_Web:/]
@Technical = rw //用户组赋权
danny = rw //用户赋权
* = //其他所有用户权限为无
#vim passwd //认证用户密码文件
[users]
# harry = harryssecret
# sally = sallyssecret
danny = 123456xyz //用户名 = 用户密码
#vim svnserve.conf //svn主配置文件authz和passwd都在该文件中定义,取消其注释即可
anon-access = none //禁止匿名用户访问
auth-access = write //给予赋权用户写的权限
password-db = passwd //定义密码文件为passwd(默认)
authz-db = authz //定义授权用户文件为authz(默认)
4.将工作代码库添加到版本库中
svn import /data/svn/play_out/test file:///data/svn/repos_Web/trunk -m "create SVN"
扩展:创建分支并导入项目
1)先在主干上下载代码/tmp/test 2)创建分支svn://192.168.1.1/repos_Web/branches 3)导入代码svn import /tmp/test file:///data/svn/repos_Web/branches -m "create branches SVN"
5.启动svn
svnserve -d -r /data/svn --config-file=/data/svn/repos_Web/conf/svnserve.conf
-d 以守护进程启动
-r 指定svn仓库的/根目录,表示svn以此目录为/,此处为repos_Web的上一级目录
--config-file 指定启动配置文件,可多个库共用一个配置文件,这样做的好处就是不用每个库都去设置配置文件
6.下载
svn co svn://192.168.1.1/repos_Web/trunk (会提示输入svn账号密码)
也可以直接加上账号密码下载
svn --username danny --password 123456xyz co svn://192.168.1.1/repos_Web/trunk
7.更新
进入svn下载目录
svn updaate
或者
svn update 目录
提示:阿里云注意开启相应安全组端口
补充:
1. 修改svn版本库路径,然后通过/etc/init.d/svnserver start启动
vim /etc/init.d/svnserver
args="--daemon --pid-file=${pidfile} -r /data/svn --config-file=/data/svn/repos_Web/conf/svnserve.conf"
或者在原配置args="--daemon --pid-file=${pidfile} $OPTIONS" 前添加
OPTIONS="-r /data/svn --config-file=/data/svn/repos_Web/conf/svnserve.conf"
2.查看svn文件目录结构
svn list svn://192.168.1.1/repos_Web
svn list svn://192.168.1.1/repos_Web/trunk
3.添加数据并提交
svn add file_name # 这里注意文件并没有上传到服务器,只是准备上传。只有commit成
功后才会将文件上传。
[root@localhost shell]# cd b
[root@localhost b]# echo 456 > 2.txt
[root@localhost b]# svn add 2.txt
A 2.txt
[root@localhost b]# svn commit -m "add 2.txt" //上传数据(修改数据后也需要执行该条语句才能修改上传成功)
增加 b/2.txt
传输文件数据.
提交后的版本为 2。
4. 查看版本库详细信息
1)进入工作目录,svn info
2)任意路径,svn info svn://192.168.1.1/repos_Web/trunk
5. 查看svn状态
1)svn status //正常没有回显,如果有回显表示有修改没有commit,A为添加、M为修改、D为删除
M a.txt
2)svn status -v 目录或文件绝对路径
6.修改当前工作目录文件版本号
进入工作目录
svn update -r 版本号 //更新到指定版本号的版本
7.查看各个版本都有哪儿些变化
svn log svn://192.168.1.1/repos_Web/trunk
8.比较历史各个版本都有那些变化
[root@Danny-server /]# svn diff -r 1:2 /opt/sp2p/t1 //进入工作目录输入svn diff -r 1:2或直接加上绝对路径
Index: /opt/sp2p/t1/c
===================================================================
--- /opt/sp2p/t1/c (版本 1)
+++ /opt/sp2p/t1/c (版本 2)
@@ -1 +1,2 @@
789
+1010