svn使用方法

安裝svn

這裏直接使用yum來安裝svn服務,安裝完成後創建版本庫

[root@nfs1 ~]# yum install -y subversion

初始化svn項目
安裝完成後創建svn項目,並且進入svn的conf目錄下
auth是項目用戶權限配置文件
passwd是用戶認證密碼配置文件

[root@nfs1 ~]# mkdir -p /data/svnroot/myproject
[root@nfs1 ~]# svnadmin create /data/svnroot/myproject/
[root@nfs1 ~]# cd /data/svnroot/myproject/conf
[root@nfs1 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用戶認證密碼文件
配置文件寫入的格式爲:用戶 = 密碼,如:

[root@nfs1 conf]# vim passwd 
[users]
# harry = harryssecret
xiang = pwd@123_#
user1 = pwd_324>
user = hgfd+asd]

修改svn的服務配置文件
在配置文件中指定
anon-access   匿名用戶擁有哪種權限
auth-access  認證用戶擁有的權限
password-db  密碼認證文件(相對路徑配置,即與passwd同在conf一個目錄下)
authz-db   項目用戶權限配置文件(同樣使用相對路徑)
realm  設定生效的項目路徑

以上是svn啓動後基本可用的配置項

[root@nfs1 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項目絕對路徑

[root@nfs1 conf]# svnserve -d -r /data/svnroot/
[root@nfs1 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

[root@nfs2 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.
[root@nfs2 home]# ls
myproject

進入到拉取的myproject目錄下,拷貝一些文件到此目錄,並測試上傳這些文件做測試
svn add 將所有文件添加版本控制號,並將這些文件上傳至服務器端

[root@nfs2 home]# cd myproject/
[root@nfs2 myproject]# cp -rf /usr/local/src/cmake-3.12.2/* .
[root@nfs2 myproject]# ls
Auxiliary                CMakeCPackOptions.cmake.in         CMakeLists.txt            CONTRIBUTING.rst       
bin                      CMake.DeveloperReference.HTML.qs   CMakeLogo.gif  
[root@nfs2 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
[root@nfs2 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版本

[root@nfs1 myproject]# svn up
Updating '.':
At revision 1.

svn更新後就可以在服務端的myproject中保存了

客戶端使用svn(windows)

首先安裝一個名爲TortoiseSVN的客戶端,具體安裝過程這裏就不列舉了
如何同步代碼文件:
首先創建一個目錄,並在該目錄下放入任意文件,點擊SVN Checkcout來指定一個svn服務器
svn使用方法
接下來指定服務端的項目以及本地項目的路徑,然後點擊ok
svn使用方法
由於我這裏不是第一次上傳文件進行測試,所以這裏沒有再次讓我輸入密碼驗證,驗證的密碼就是服務端中authz和passwd文件配置的
svn使用方法

至此svn的簡單使用方法介紹完畢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章