SVN上线步骤笔记

时间:2023-03-09 15:00:11
SVN上线步骤笔记

项目代码位置: /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