閱讀431 返回首頁    go 阿裏雲 go 技術社區[雲棲]


雲服務器 ECS 建站教程:SVN的搭建和使用




簡介

Subversion(SVN) 是一個開源的版本控製係統, 也就是說 Subversion 管理著隨時間改變的數據。

這些數據放置在一個中央資料檔案庫(repository) 中。

這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。

這樣你就可以把檔案恢複到舊的版本, 或是瀏覽文件的變動曆史。

SVN 的一些概念

  1. repository(源代碼庫):源代碼統一存放的地方
  2. Checkout(提取):當你手上沒有源代碼的時候,你需要從repository checkout一份
  3. Commit(提交):當你已經修改了代碼,你就需要Commit到repository
  4. Update (更新):當你已經Checkout了一份源代碼, Update一下你就可以和Repository 上的源代碼同步,你手上的代碼就會有最新的變更

日常開發過程其實就是這樣的(假設你已經Checkout並且已經工作了幾天):Update(獲得最新的代碼) —>作出自己的修改並調試成功 —> Commit(大家就可以看到你的修改了) 。

如果兩個程序員同時修改了同一個文件呢, SVN可以合並這兩個程序員的改動,實際上SVN管理源代碼是以行為單位的,就是說兩個程序員隻要不是修改了同一行程序,SVN都會自動合並兩種修改。

如果是同一行,SVN會提示文件Confict, 衝突,需要手動確認。

安裝

兩種方法安裝

第一種

下載阿裏雲SVN版本控製鏡像。

購買完成之後,登錄”ECS 管理控製台”,在左邊導航欄裏,單擊”實例”,進入 ECS 實例列表頁,選擇所購 ECS 實例所在的地域,並找到所購 ECS 實例,在”IP 地址”列獲取該實例的公網 IP 地址。

第二種

手動安裝

1.環境

centos7

2.安裝svn

yum install subversion 

查看版本

svnserve --version


image


3、創建版本庫

先建目錄

mkdir /var/svn

創建版本庫

cd /var/svn
svnadmin create /var/svn/svnrepos
cd svnrepos會看到自動生成的版本庫文件:
conf  db  format  hooks  locks  README.txt


image

subversion目錄說明

db目錄:就是所有版本控製的數據存放文件。

hooks目錄:放置hook腳本文件的目錄。

locks目錄:用來放置subversion見艱苦鎖定數據的目錄,用來追蹤存取文件庫的客戶端。

format文件:是一個文本文件,裏麵隻放了一個整數,表示當前文件庫配置的版本號。

conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等)。

進入conf目錄(該svn版本庫配置文件)cd conf/

authz文件是權限控製文件

passwd是帳號密碼文件

svnserve.conf SVN服務配置文件

設置帳號密碼 vi passwd

在[users]塊中添加用戶和密碼,格式:帳號=密碼,如suzhan=redhat

image

設置權限 vi authz

在末尾添加如下代碼:

[/]

suzhan=rw (r:讀,w:寫)

image


修改svnserve.conf文件 vi svnserve.conf

打開下麵的幾個注釋:

anon-access = read #匿名用戶可讀

auth-access = write #授權用戶可寫

password-db = passwd #使用哪個文件作為賬號文件

authz-db = authz #使用哪個文件作為權限文件

realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄


image


啟動svn版本庫

 svnserve -d -r /var/svn/svnrepos

停止SVN命令

 killall svnserve

用ps -ef |grep svn 查看服務是否開啟。


image


在windows上測試

如果沒有TortoiseSVN客戶端,可以去這裏 下載:tortoisesvn.net/downloads.html, 根據從SVN服務器下載項目自己的實際情況下載對應版本。

在你的本地項目文件夾或隨便一個地方,右鍵空白處彈出菜單,選擇 SVN。


image


然後,通過從SVN服務端獲取的資源庫URL+具體的項目文件夾名下載相應項目,並可以知道下載項目的保存位置。


image
image

第一次登陸需要輸入密碼,一切以passwd文件裏麵的賬戶密碼為主!

image


對項目的修改與提交

1:把項目下載到本機後,其實就是一個普通的項目文件而已,你可以在裏麵添加文件、修改文件、刪除文件等等。

2:提交修改 在項目文件空白處右鍵,選擇 SVN提交 。


image


然後,輸入 本次提交的版本更新信息(所作修改的注釋)、勾選要提交的操作內容,點擊 確定,即可把本機項目提交到SVN服務器資源庫,覆蓋掉資源庫項目從而實現更新。

如果發生提交衝突,即兩人都提交修改,後提交者由於版本落後會提交失敗。這時可以先把自己的項目備份,然後從服務端下載最新的項目,再把自己的項目覆蓋到本地項目文件夾,最後SVN提交即可成功提交。

我剛剛刪掉了一個文件,這裏就會顯示:


image


3:獲取更新

如果別人修改了SVN服務端資源庫上的項目,你想下載最新的項目,則在 本機項目文件空白處單擊鼠標右鍵,選擇 SVN更新 ,即可自動完成下載,並會提示所作的更新有哪些。

注意:在原項目文件夾內選擇SVN更新的話,會自動覆蓋掉原有內容。建議:先備份,再更新,防止自己本來的項目內容丟失。


image


4.svn提供曆史還原功能

首先打開一個文件夾,右鍵檢出數據,


image

然後刪掉數據。


image


這是如果不點提交的話,可以直接點鼠標右鍵還原即可。

image
image


如果點擊提交了,那麼係統庫裏的數據也會得到同步,係統也會把它存的數據刪掉。

image


這是點擊svn還原是沒有用的。

image


這時需要查看日誌,看看是刪掉了什麼東西。

image


然後把刪掉的文件保存版本到刪掉的位置,

image


打開原文件夾


image


然後在點擊提交,係統庫裏的數據就和這個文件同步了。

原文鏈接

最後更新:2017-08-13 22:29:07

  上一篇:go  雲服務器 ECS 建站教程:快速搭建 ThinkPHP 框架
  下一篇:go  阿裏雲高性能時序數據庫 HiTSDB 啟動公測,為物聯網而生的數據庫!