農林漁牧網

您現在的位置是:首頁 > 畜牧業

版本控制系統——SVN相關知識

2022-01-12由 小陳工 發表于 畜牧業

svn是什麼意思

一、SVN概述

1。1 SVN介紹

SVN是Subversion的簡稱,是一個自由開源的版本控制系統。 Subversion將檔案存放在中心版本庫裡,這個版本庫很像一個普通的檔案伺服器,不同的是,它可以記錄每一次檔案和目錄的修改情況,這樣就可以藉此將資料恢復到以前的版本,並可以檢視資料的更改細節。

1。2 SVN基本概念

版本控制系統——SVN相關知識

1。3 SVN模式

複製-修改-合併方案(Subversion預設的模式)

在這種模型裡,每一個客戶讀取專案配置庫建立一個私有工作副本——版本庫中檔案和目錄的本地對映。使用者並行工作,修改各自的工作副本,最終,各個私有的複製合併在一起,成為最終的版本,這種系統通常可以輔助合併操作,但是最終要靠人工去確定正誤。

1。4 SVN架構

Subversion支援Linux和Windows,更多是安裝在Linux下。

svn伺服器有2種執行方式:獨立伺服器和藉助apache執行。兩種方式各有利弊,使用者可以自行選擇。

svn儲存版本資料也有2種方式:BDB一種事務安全型表型別和FSFS一種不需要資料庫的儲存系統。 因為BDB方式在伺服器中斷時,有可能鎖住資料,所以還是FSFS方式更安全一點。

二、SVN使用

2。1 SVN是一種集中式管理程式碼的版本控制系統,原理就是把程式碼都儲存到一個固定的位置(倉庫),每次從這個位置複製更新程式碼,進行編輯;再把修改後的程式碼提交到該目錄中。多人協作開發也是如此。因此需要一個類似Oracle 或者Mysql的伺服器用於儲存和管理庫檔案(要儲存的程式碼等檔案)的服務端——VisualSVN Server。還需要一個 使用者的操作端,用於提交更新檢出程式碼,常用的有idea的Svn外掛,以及TortoiseSVN(小烏龜)。

2。2 伺服器端VisualSVN安裝與配置

2。2。1 VisualSVN下載

版本控制系統——SVN相關知識

2。2。2 VisualSVN安裝與建立倉庫

版本控制系統——SVN相關知識

在開始執行中錄入 services。msc開啟服務。

服務開啟後,在開始執行中查詢visualSVN Server Manager就可以開啟圖形化管理介面:

版本控制系統——SVN相關知識

2。2。3 VisualSVN建立工程目錄

版本控制系統——SVN相關知識

2。2。4 VisualSVN 許可權控制

建立使用者

版本控制系統——SVN相關知識

版本控制系統——SVN相關知識

建立組

版本控制系統——SVN相關知識

分配許可權

版本控制系統——SVN相關知識

版本控制系統——SVN相關知識

2。3 客戶端TortoiseSVN安裝與使用

TortoiseSVN是一個基於windows系統的svn客戶端圖形化介面

2。3。1 Tortoise SVN下載

2。3。2 Tortoise SVN安裝

版本控制系統——SVN相關知識

2。3。3 Tortoise SVN 常用操作

2。3。3。1 瀏覽倉庫

正常情況下,在瀏覽倉庫時會要求錄入username 與password

2。3。3。2 checkout

匯出svn伺服器上的專案

注意:檢出後會有 一個。svn隱藏目錄

2。3。3。3 add

版本控制系統——SVN相關知識

2。3。3。4 commit

2。3。3。5 update

Update,它是更新操作,可以將svn伺服器上的內容更新到本地

2。3。3。6 更新到歷史版本

2。3。3。7 delete

標記刪除操作,本地檔案會刪除,我們需要進行提交,才能真正從伺服器刪除

2。3。3。8 匯入與匯出

Import將本地資源匯入到svn伺服器

Export匯出專案,和checkout的區別在於它不存在。svn隱藏檔案

2。3。3。9 衝突問題與解決

多個使用者同時操作同一個檔案時,就可能產生衝突情況。

這個衝突產生後如何解決,我們可以採用手動Merge,解決衝突後,重新commit

版本控制系統——SVN相關知識

HelloWorld。java 它是伺服器上的檔案與本地檔案合併

HelloWorld。java。mine 本地修改後的檔案

HelloWorld。java。r4 修改前的檔案

HelloWorld。java。r5 對方修改後的檔案

2。4 IDEA下 SVN 配置與使用

2。4。1 IDEA下svn配置,前提是安裝了TortoiseSVN

版本控制系統——SVN相關知識

安裝完成後,右上角的圖示顯示:

1。Update Project 更新專案

2。Commit changes 提交專案上所有變化檔案

3。Compare with the Same Repository Version 當前檔案與伺服器上該檔案通版本的內容進行比較。如果當前編輯的檔案沒有修改,則是灰色不可點選。

4。Show history 顯示當前檔案的歷史記錄

5。Revert 還原當前被修改的檔案到未被修改的版本狀態下

下方的日誌資訊顯示:

1。Local Changes 本地修改過的檔案都會出現在這裡

2。Repository svn倉庫所有提交記錄

3。Incoming 本地還沒有更新的別人提交的程式碼

2。4。2 IDEA 下SVN使用

2。4。2。1 share project

版本控制系統——SVN相關知識

2。4。2。2 checkout

版本控制系統——SVN相關知識

2。4。2。3 add commit update

2。4。2。4 ignor:選擇上傳時忽略的檔案或資料夾

版本控制系統——SVN相關知識

2。4。2。5 解決衝突

三、 SVN規範

3。1 SVN目錄規範

版本控制系統——SVN相關知識

3。2 分支與標記

3。2。1。分支或標記規範

分支的定義規則:Project name+日期時間+功能點

Tags的定義規則:Project name+版本號 版本號定義為三段數字 編號 xxx。xxx。xxx 第一個:革命性的產品升級版 第二個:新功能版 第三個:修正bug

3。2。2 打分支或標記

版本控制系統——SVN相關知識

Tags一般是隻讀,它代表的是釋出的版本,所以我們不要進行改變。

3。3 主幹與分支或標記的合併

3。3。1 主幹合併到分支

版本控制系統——SVN相關知識