1. 程式人生 > >Linux中SVN伺服器安裝與使用以及windows客戶端的使用(CentOS-6.5)

Linux中SVN伺服器安裝與使用以及windows客戶端的使用(CentOS-6.5)

1 SVN簡介

    svn是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS轉移到Subversion。
svn伺服器有2種執行方式:獨立伺服器和藉助apache執行。兩種方式各有利弊,使用者可以自行選擇。
svn儲存版本資料也有2種方式:BDB(一種事務安全型表型別)和FSFS(一種不需要資料庫的儲存系統)。因為BDB方式在伺服器中斷時,有可能鎖住資料,所以還是FSFS方式更安全一點。

2 SVN下載

    Svn客戶端與伺服器端的下載地址: http://tortoisesvn.net/


3 SVN伺服器的安裝

3.1 Linux環境安裝與配置

1)安裝
    # yum install -y subversion

2) 驗證安裝版本
    # svnserve --version

3) 建立SVN 版本庫, project1為版本庫名稱
    # mkdir /data0/svn
    # svnadmin create /data0/svn/project1

4)新增使用者,格式為:使用者名稱 = 密碼
    # vi /data0/svn/project1/conf/passwd  
    [users]
    CleverCode = 123456
    test1 = 123456
    test2 = 123456
    
5)新增訪問許可權,CleverCode使用者新增到admin組,能對/data0/svn/project1整個目錄有讀寫許可權;test1,test2使用者新增到test組,只能對/data0/svn/project1/test目錄有讀寫許可權
    # vi /data0/svn/project1/conf/authz
    [groups]
    admin = CleverCode
    test = test1,test2
    
    [project1:/]
    @admin = rw
    
    [project1:/test]
    @test = rw
7) 配置svnserve.conf,這個檔案開頭每行開頭不能有空格。
    配置說明:
    anon-access: 控制非鑑權使用者訪問版本庫的許可權。
    auth-access:  控制鑑權使用者訪問版本庫的許可權。
    password-db: 指定使用者名稱口令檔名。
    authz-db:指定許可權配置檔名,通過該檔案可以實現以路徑為基礎的訪問控制。
    realm:指定版本庫的認證域,即在登入時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的使用者名稱口令資料檔案


    # vi /data0/svn/project1/conf/svnserve.conf
    [general]
    #匿名訪問的許可權,可以是read,write,none,預設為read
    anon-access = none
    #認證使用者的許可權,可以是read,write,none,預設為write  
    auth-access = write
    password-db = /data0/svn/project1/conf/passwd
    authz-db = /data0/svn/project1/conf/authz
    
8)配置防火牆,svn 是3690埠
    # vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
    # service iptables restart

9) 啟動SVN, -d表示後臺執行,-r 指定根目錄是 /data0/svn
    # svnserve -d -r /data0/svn

10)檢視SVN
# ps -ef | grep svn

3.2 Windows環境安裝與配置

下載windows伺服器端後,按照提示,下一步在下一步即可,windows的相對比較簡單,所以不再詳細說明。

4 SVN客戶端的使用

4.1 Linux環境使用

1、將檔案checkout到本地目錄
    svn checkout path(path是伺服器上的目錄)
    例如:svn checkout svn://192.168.1.1/pro/domain
    簡寫:svn co

2、往版本庫中新增新的檔案
    svn add file
    例如:svn add test.php(新增test.php)
    svn add *.php(添加當前目錄下所有的php檔案) 

3、將改動的檔案提交到版本庫
    svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
    例如:svn commit -m “add test file for my test“ test.php
    簡寫:svn ci

4、加鎖/解鎖
    svn lock -m “LockMessage“ [--force] PATH
    例如:svn lock -m “lock test file“ test.php
    svn unlock PATH 

5、更新到某個版本
    svn update -r m path
    例如:
    svn update如果後面沒有目錄,預設將當前目錄以及子目錄下的所有檔案都更新到最新版本。
    svn update -r 200 test.php(將版本庫中的檔案test.php還原到版本200)
    svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因為衝突,需要先update,修改檔案,然後清除svn resolved,最後再提交commit)
    簡寫:svn up 

6、檢視檔案或者目錄狀態
    1)svn status path(目錄下的檔案和子目錄的狀態,正常狀態不顯示)
    【?:不在svn的控制中;M:內容被修改;C:發生衝突;A:預定加入到版本庫;K:被鎖定】M狀態一般比較多
    2)svn status -v path(顯示檔案和子目錄狀態)
    第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
    注:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
    簡寫:svn st 

7、刪除檔案
    svn delete path -m “delete test fle“
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
    或者直接svn delete test.php 然後再svn ci -m ‘delete test file‘,推薦使用這種
    簡寫:svn (del, remove, rm)

8、檢視日誌
    svn log path
    例如:svn log test.php 顯示這個檔案的所有修改記錄,及其版本號的變化

9、檢視檔案詳細資訊
    svn info path
    例如:svn info test.php

10、比較差異
    svn diff path(將修改的檔案與基礎版本比較)
    例如:svn diff test.php
    svn diff -r m:n path(對版本m和版本n比較差異)
    例如:svn diff -r 200:201 test.php
    簡寫:svn di 

11、將兩個版本之間的差異合併到當前檔案
    svn merge -r m:n path
    例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合併到當前檔案,但是一般都會產生衝突,需要處理一下)

12、SVN 幫助
    svn help
    svn help ci
    

4.2 Windows環境使用

1) 通過官網下載svn的windows客戶端,按照後。
2) 建立project1檔案件,選中檔案件點選右鍵,選擇 【SVN checkout】。

3)然後如下圖使用。


 

4)輸入使用者與密碼。CleverCode:123456。


 

5 建立本地倉庫

建立本地倉庫是為了解決沒有svn伺服器。直接在windows本地使用,適用於單個人在本機開發提交程式碼。不適用團隊開發。

1)建立本地倉庫:選中某個資料夾(例如code),=》【TortoiseSVN】=》【create repository here】。

2)檢視本地倉庫地址:選中code目錄,=》【TortoiseSVN】=》【repo-browse】。本機地址為:file:///E:/a/code。


3)check out倉庫資料:選中另外一個目錄(mycode),=》【SVN checkout】,在地址中輸入file:///E:/a/code即可。


4)如果svn伺服器跟換了IP或者域名,或者是本地倉庫更換到其他磁碟,可以如下更換倉庫地址:選中另外一個目錄(mycode),=》【TortoiseSVN】=》【Relocate】,在地址中輸入新的SVN倉庫地址即可。



1)原創作品,出自"CleverCode的部落格",轉載時請務必註明以下原創地址,否則追究版權法律責任。



相關推薦

LinuxSVN伺服器安裝使用以及windows客戶的使用(CentOS-6.5)

1 SVN簡介     svn是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS轉移到Subversion。 svn伺服器有2種執行方式:獨立伺服器和藉助

Linuxsvn安裝部署

myeclipse span .com 服務 點擊 svn服務器 。。 hook idt     最近工作碰到一個問題,我和一個同夥負責開發一個管理系統,基於原來的代碼上進行修改,每當他修改之後,我要再修改都要和他確定是不是最新的文件,才能進行修改。非常影響工作的效率,所以

myeclpseSVN安裝使用

java首先下載插件 如果是eclipse:help--> Install new software-->其他相同 myeclipse:help->installSite->跳出一個窗口點add->點擊Archive->選擇svn解壓的之後的壓縮包->勾

LinuxSublime_Text3的安裝方法以及不能中文輸入的問題解決

Ubuntu 14.04下Sublime_Text3 的安裝方式以及不能中文輸入的問題解決。 一、sublime text 3 在ubuntu 14.04下的安裝過程 1. 首先下載sublime

LinuxSVN安裝配置

簡述        版本控制一直是專案開發中必不可少的,不僅有利於程式碼管理,而且對專案團隊協作開發有很大的幫助。目前比較流行的版本控制管理有GIT和SVN,它們都有各自的優缺點,具體使用哪一個還是要看個人的喜好,它們功能也都是大同小異。本篇博文講述的就是在Linux下安裝配

LInux利用執行緒實現多個客戶伺服器進行通訊

上一篇博文講了如何利用子程序實現多個客戶端和伺服器端進行通訊, 那麼,這一篇部落格就來實現一下如何利用執行緒實現多個客戶端和伺服器端進行通訊 程式碼實現: ser1.c #include <

Ubuntu 14.04下SVN伺服器server的搭建和客戶的簡單操作

參考:Ubuntu 14.04下搭建SVN伺服器(SVN Server) 一:搭建環境 檢視Ubuntu系統的版本資訊:可用cat /proc/version命令、uname -a命令與sb_release -a命令。 Ubuntu:14.04 64位

基於非阻塞socket的多執行緒伺服器的實現------一個伺服器如何多個客戶進行通訊?

      我們首先來看服務端(涉及非阻塞socket和多執行緒): #include <stdio.h> #include <winsock2.h> #include <windows.h> #pragma comment(li

搭建:Redis伺服器安裝、視覺化客戶安裝和VS2017新增

一、伺服器安裝1.伺服器下載2.安裝伺服器3.啟動控制檯Host: 命令:cmd redis-server redis.windows.conf 4.安裝Window服務Host:命令:redis-server --service-install redis.window

redis安裝啟動,客戶設定編碼啟動

Redis安裝 1 .下載原始碼安裝包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2 .將檔案放到自己將要安裝的目錄下,進行解壓 tar xzf redis-4.0

SVN伺服器更換IP地址,客戶如何重新定位

問題描述 在解決問題之前,先描述一下問題發生的場景。 小組合作開發,SVN伺服器採用的是VisualSVN Server,客戶端是TortoiseSVN,在VS上安裝了VisualSVN外掛。開發大約一週後,更換了工作場地,伺服器的IP地址也發生了相應的變化

Linux Redis集群搭建集群客戶實現

分享 2.0 redis安裝 strong trac gif oot complete install 硬件環境 本文適用的硬件環境如下 Linux版本:CentOS release 6.7 (Final) Redis版本:3.2.1 Redis已經成功安裝

SVN安裝常用功能使用以及解決安裝配置過程的一些錯誤

三種方式 安裝配置 ava -- 服務器 工作流程圖 例如 完成 網站 SVN簡介: SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,將工程代碼集中在服務器上進行一個統一的集中式管理,從而能夠方便地控制代碼版本,相較於RCS、CVS,它采用了分支管理系統

基於centos7系統下SVN安裝配置(阿里雲伺服器Linux

       對於企業或者公司來說,檔案的管理一直以來都是很頭疼的事,SVN的出現對於檔案的管理提供了很大的幫助。廢話不多說了,關於SVN,就不做過多介紹了,想要了解更多的話,請檢視SVN簡介。 關於Linux系統下如何安裝SVN,下面給我我自己的實踐步驟

計算機基礎作業系統 計算機系統簡介 計算機基礎知識 計算機的發展史及多道技術 計算機網路知識簡單介紹 Windows系統,Mac系統與Linux系統的的安裝與簡介 伺服器硬體基礎 Linux發展史 Linux伺服器遠端登入 Linux常用的150個命令彙總 在終端下寫Python程式碼

第一章:計算機系統簡介 第二章:計算機基礎知識 第三章:計算機的發展史及多道技術 第四章:計算機網路知識簡單介紹 第五章:Windows系統,Mac系統與Linux系統的的安裝與簡介 第六章:伺服器硬體基礎 第七章:Linux發展史 第八章:Linux伺服器遠端登入 第九

centOS搭建SVN伺服器實現許可權控制及linuxwindows客戶的使用、排錯

目錄 1.在centOS上搭建svn_server 1.查詢是否已安裝軟體包及安裝軟體包  rpm -qa subversion #查詢是否安裝 yum -y install subversion

linux安裝OpenCV以及windows安裝numpy、cv2等python2.7模塊

efi .com build 文件夾 什麽 read /etc ++ vlib OpenCV(Open Source Computer Vision Library) 是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,它具有C ++,C,Python和Java接口,可以

阿里雲 LinuxCentOSMySQL5.7安裝配置以及遠端連線配置最新完整版

1, mysql57-community-release-el7-11.noarch.rpm 點選下載並上傳到阿里雲。 2,切換資料夾,然後一步步輸入下面三條命令,即安裝好的MySQL的 (1),rpm -ivh mysql57-community-release-el7-1

Linuxweb伺服器的搭建配置

一、web伺服器的簡介     網頁伺服器(Web server)一詞有兩個意思:    一臺負責提供網頁的電腦,主要是各種程式語言構建而成,通過HTTP協議傳給客戶端(一般是指網頁瀏覽器)。    一個提供網頁的伺服器程式

Svn伺服器安裝以及Eclipse整合svn

Svn伺服器安裝 第一個用於eclipse繼承 第二個單獨的svn客戶端 第三個檢視化的svn服務端 1、安裝VisualSVN-Server-3.9.1-x64.msi 2、在repositories右鍵建立倉庫 3、在users上可以建立使用者,可以訪問對應的