SVN用法

%就是我發表於2018-08-17

  • 核心概念
  • 生命週期
  • 具體用法
  • 分支
  • 版本回退

核心概念

       SVN是一個開源的版本控制系統,也就是說 Subversion 管理著隨時間改變的資料。 這些資料放置在一箇中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的檔案伺服器, 不過它會記住每一次檔案的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏覽檔案的變動歷史。

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

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

如果兩個程式設計師同時修改了同一個檔案呢, SVN可以合併這兩個程式設計師的改動,實際上SVN管理原始碼是以行為單位的,就是說兩個程式設計師只要不是修改了同一行程式,SVN都會自動合併兩種修改。如果是同一行,SVN會提示檔案Confict, 衝突,需要手動確認。

生命週期

  1. 建立版本庫
  2. 檢出(checkout)
  3. 更新(update)
  4. 執行變更
  5. 複查變化
  6. 修復錯誤,revert操作重置對工作副本的修改
  7. 解決衝突
  8. 提交更改

手動建立版本庫

首先,在服務端進行SVN版本庫的相關配置

手動新建版本庫目錄

mkdir /opt/svn複製程式碼

利用svn命令建立版本庫

svnadmin create /opt/svn/runoob複製程式碼

使用命令svnserve啟動服務

svnserve -d -r 目錄 --listen-port 埠號複製程式碼

1、開啟visualSVN,選擇server manager,(視覺化工具)

2、一個伺服器,多個客戶端。

3、repositories(版本庫),點選右鍵新建版本庫--->regular FSFS repository-->下一步--》給版本庫起名字--》下一步--》設定許可權--》customize permissions--》新增成員--》所有成員可以讀寫--》選人--》記錄版本庫路徑--》單擊倉庫名賦值版本庫地址--》客戶端根據地址拉取資料--》建立使用者

4、獲取伺服器資源--》進入某個資料夾下,點選右鍵-》SVN檢出--》輸入版本庫地址--》檢出深度--》全遞迴--》最新版本,也可以選擇某個過去版本,從顯示日誌裡查取

5、在目錄下新增檔案,做出修改,然後右擊檔案--》SVN提交

6、更新命令,多人操作時,需要在提交之前時,更新檔案

7、版本回溯:右擊具體檔案,找到與前一版本比較,就會出現兩個版本的不同點,右鍵選擇更新至版本,選擇具體版本

8、衝突問題

不同的人對同一檔案的不同修改會導致衝突,SVN會把兩種修改放在一個地方,分別用箭頭表示版本,手動解決衝突,再提交


9、檔案被鎖定後,不可再更新提交,可以解除鎖定

10、可以使用編輯器自帶工具進行操作,不需要客戶端了,需要伺服器,hbuiilder裡工具--》安裝--》外掛安裝--》SVN外掛,空白地方--》右鍵--》匯入--》SVN--》從SVN檢出專案--》選擇版本庫地址--》建立新的資源庫地址--》設定新建的資料夾,檔案修改後,右鍵--》選擇版本管理,提交


相關文章