svn使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn使用方法相关的知识,希望对你有一定的参考价值。

安装svn

这里直接使用yum来安装svn服务,安装完成后创建版本库

[[email protected] ~]# yum install -y subversion

初始化svn项目
安装完成后创建svn项目,并且进入svn的conf目录下
auth是项目用户权限配置文件
passwd是用户认证密码配置文件

[[email protected] ~]# mkdir -p /data/svnroot/myproject
[[email protected] ~]# svnadmin create /data/svnroot/myproject/
[[email protected] ~]# cd /data/svnroot/myproject/conf
[[email protected] conf]# ls
authz passwd svnserve.conf

修改authz项目的权限配置文件
aliases 别名 ?
groups表示组成用户组:users = user1,user2
[/] ?项目根目录,在这篇文章中表示根目录/data/svnroot/myproject/

@*** = rw ? 表示引用的用户或用户组并给予rw读写权限
= r ? ?配置则表示除了上面配置的用户外,其他人只有只读权限
[myproject:/] ? 这里表示用户只能访问到指定myproject项目,myproject是项目名,根据实际配置来设定
user1 = rw ? ? ? ?用户user1读写权限?
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
?
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
lin=xiang,user
?
[/]
@lin = rw
=r
[myproject:/]
user1 = rw

修改passwd用户认证密码文件
配置文件写入的格式为:用户 = 密码,如:

[[email protected] conf]# vim passwd 
[users]
# harry = harryssecret
xiang = [email protected]_#
user1 = pwd_324>
user = hgfd+asd]

修改svn的服务配置文件
在配置文件中指定
anon-access ? 匿名用户拥有哪种权限
auth-access ?认证用户拥有的权限
password-db ?密码认证文件(相对路径配置,即与passwd同在conf一个目录下)
authz-db ? 项目用户权限配置文件(同样使用相对路径)
realm ?设定生效的项目路径

以上是svn启动后基本可用的配置项

[[email protected]s1 conf]# vim svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svnroot/myproject

启动svn
启动svn并查看启动监听的端口信息
启动选项-d表示让服务进入到后台运行,-r 指定svn项目绝对路径

[[email protected] conf]# svnserve -d -r /data/svnroot/
[[email protected] conf]# netstat -ntlp |grep svn
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:3690 ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN ? ? ?2937/svnserve ? ?

客户端上使用svn(linux)

服务端配置好后,我又在另一台机器上安装了svnversion,来测试版本pull
客户端只需要安装svn即可,不需要其他配置
使用svn来拉取服务端项目:
格式:svn checkout svn://server ip/project ?--username=user

[[email protected] home]# svn checkout svn://192.168.1.234/myproject --username=xiang
Authentication realm: <svn://192.168.1.234:3690> /data/svnroot/myproject
Password for ‘xiang‘: 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

 ? <svn://192.168.1.234:3690> /data/svnroot/myproject

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords‘ option to either ‘yes‘ or ‘no‘ in
‘/root/.subversion/servers‘.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Checked out revision 0.
[[email protected] home]# ls
myproject

进入到拉取的myproject目录下,拷贝一些文件到此目录,并测试上传这些文件做测试
svn add 将所有文件添加版本控制号,并将这些文件上传至服务器端

[[email protected] home]# cd myproject/
[[email protected] myproject]# cp -rf /usr/local/src/cmake-3.12.2/* .
[[email protected] myproject]# ls
Auxiliary ? ? ? ? ? ? ?  CMakeCPackOptions.cmake.in ? ? ? ? CMakeLists.txt ? ? ? ? ?  CONTRIBUTING.rst ? ? ? 
bin ? ? ? ? ? ? ? ? ? ?  CMake.DeveloperReference.html.qs ? CMakeLogo.gif ?
[[email protected] myproject]# svn add *
----------------------省略
Adding ? ? ? ? bin
Adding  (bin)  bin/ccmake
Adding  (bin)  bin/cmake
Adding  (bin)  bin/cpack
Adding  (bin)  bin/ctest
Adding ? ? ? ? bootstrap
Adding ? ? ? ? cmake_install.cmake
Adding ? ? ? ? cmake_uninstall.cmake
Adding ? ? ? ? cmake_uninstall.cmake.in
Adding ? ? ? ? configure
Adding ? ? ? ? doxygen.config
Adding ? ? ? ? install_manifest.txt
[[email protected] myproject]# svn commit -m "add *"
----------------------省略 ? ? ? ? ? ? 将文件上传至服务端
Adding ? ? ? ? bin
Adding  (bin)  bin/ccmake
Adding  (bin)  bin/cmake
Adding  (bin)  bin/cpack
Adding  (bin)  bin/ctest
Adding ? ? ? ? bootstrap
Adding ? ? ? ? cmake_install.cmake
Adding ? ? ? ? cmake_uninstall.cmake
Adding ? ? ? ? cmake_uninstall.cmake.in
Adding ? ? ? ? configure
Adding ? ? ? ? doxygen.config
Adding ? ? ? ? install_manifest.txt
Transmitting file data ..............................
Committed revision 1.

?在服务端更新svn版本

[[email protected] myproject]# svn up
Updating ‘.‘:
At revision 1.

svn更新后就可以在服务端的myproject中保存了

客户端使用svn(windows)

首先安装一个名为TortoiseSVN的客户端,具体安装过程这里就不列举了
如何同步代码文件:
首先创建一个目录,并在该目录下放入任意文件,点击SVN Checkcout来指定一个svn服务器
技术分享图片
接下来指定服务端的项目以及本地项目的路径,然后点击ok
技术分享图片
由于我这里不是第一次上传文件进行测试,所以这里没有再次让我输入密码验证,验证的密码就是服务端中authz和passwd文件配置的
技术分享图片

至此svn的简单使用方法介绍完毕

以上是关于svn使用方法的主要内容,如果未能解决你的问题,请参考以下文章

常用HTML5代码片段

CentOS yum 命令出现 [Errno 14] curl#6 - &quot;Couldn&#39;t resolve host ...&quot; 的解决方法(代码片段

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

svn 被回滚的代码怎么重新提交

crucible VS gerrit

eclipse svn冲突怎么解决