svn 學習筆記

2022-08-21 10:21:08 字數 2668 閱讀 5934

1.什麼是svn?

svn是subversion的簡稱,是乙個開放源**的版本控制系統,相較於rcs、cvs,它採用了分支管理系統,它的設計目標就是取代cvs。也就是說 subversion 管理著隨時間改變的資料。 這些資料放置在乙個**資料檔案庫(repository) 中。 這個檔案庫很像乙個普通的檔案伺服器, 不過它會記住每一次檔案的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏覽檔案的變動歷史。說得簡單一點svn就是用於多個人共同開發同乙個專案,共用資源的目的。

特點:操作簡單、入門簡單、跨平台(macos 、windows、linux)操作 。

svn服務端

svn是輸入c/s服務類軟體,有客戶端和服務端。

svn的服務端

repository(源**庫):源**統一存放的地方;

checkout(提取):當你手上沒有源**的時候,你需要從repository checkout乙份;

commit(提交):當你已經修改了**,你就需要commit到repository;

update (更新):當你已經checkout了乙份源**, update一下你就可以和repository上的源**同步,你手上的**就會有最新的變更。update(獲得最新的**) -->作出自己的修改並除錯成功 --> commit(大家就可以看到你的修改了) 。

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

安裝visualsvn server 3.8.6

選擇視覺化介面,增加環境變數

選擇標準版

不要出現中文、特殊字元和空格,埠號改為8000以後的,防止衝突

進度條走完,安裝完畢

2.伺服器監管

apache— http://localhost:8080 訪問htdocs目錄

svn— svn://localhost: 訪問相關的資料倉儲(如shop)

通過以上指令,我們的svn://localhost或者ip位址就可以直接指向shop資料夾了。

3.許可權控制

預設情況下,svn伺服器不允許匿名使用者上傳檔案到服務端的,所以必須更改專案的相關控制檔案。

開啟conf,找到svnserve.conf;

更改第19行**如下: 許可權可讀可寫;

4.svn客戶端配置

1.如圖安裝,記得重啟一下即可;

2.還可以安裝漢化包。

3.配置完之後第一次牽手:checkout(檢出)

開啟隱藏功能如果能看到.svn這個資料夾就說明客戶端和服務端連線起來了,檢出成功;

使用客戶端軟體連線svn伺服器(checkout檢出)

1.首先隨便建個資料夾,取名jingli;

2.在你的專案目錄右鍵—>tortoisesvn—>版本庫瀏覽器—>輸入svn伺服器位址;

svn://svn伺服器位址—>shop目錄(倉庫)

顯示隱藏檔案,檢出ok!

更新完畢;

1.首先建立lisigou資料夾,然後開啟版本庫瀏覽器;

2.輸入svn位址

3.可看到之前的歷史版本;

成功檢出

如果李四狗也需要提交自己的**,提交,伺服器會同步更新;

如果經理想看李四狗今天做了啥,點選更新,即可;

圖示集版本回退

1.什麼是版本回退

2.版本回退功能

1.經理刪除了index.php,提交;

2.經理發現刪錯了,需要回退;

3.選擇根據日誌回退;

更新;4.index.php檔案恢復;

3.版本衝突

解決之道

避免版本衝突:

合理分配專案開發時間;

合理分派專案開發模組。

配置多倉庫與許可權

監管總目錄許可權限制

authz:授權檔案,告訴使用者有哪些許可權

passwd:認證檔案,表示使用者名稱和密碼

預設情況、兩個檔案都是禁用的,必須要開啟上面兩個檔案,具體步驟如下:

1.注釋匿名使用者可讀寫的許可權;

2.開啟認證和授權檔案;

3.編寫認證檔案,定義使用者和密碼:開啟passwd;

4.編寫授權檔案:

分組+授權

測試是否成功

svn的配置和管理

配置伺服器的自啟動服務

sc create svnservice binpath = 「h:\svn\bin\svnserve.exe – service -r h:/files/jingli」 start = auto

在cmd中輸入相關命令: sc create 服務名稱 binpath=空格"svnserve.exe --service"

在控制面板-管理工具-服務找到svnserver

執行成功,svn監管服務開發成功

使用批處理檔案來停止和開啟管理器

啟動服務 net start 服務名稱

停止服務 net stop 服務名稱

刪除服務 sc delete 服務名稱

封裝成為.bat封裝就可以減少很多任務作量

模擬真實場景(重難點)

1、 使用鉤子程式對專案進行更新

post-commit.tmpl: 事物完成之後觸發的鉤子程式

預設情況用批處理或者shell指令完成

SVN學習筆記

svn 有三個標記 trunk這個是主線,永遠都只有一套 每次發布版本就需要在這裡 打標籤 必須與提交測試部的 一致,是堅決不能改的,即使知道有 問題 也不能改,是為了保持版本的一致性 branch這個是分支,一般專案經理會告訴對應的cmo從主線或者是某個標籤中拉出一條基線,作為某個 定製產品 專案...

svn學習筆記(一)

svn學習筆記,個人整理的,比較亂。一.主要步驟 1.建立版本庫,import匯入原始版本。2.checkout,建立工作拷貝。3.開始工作。4.svn status 瀏覽所作的修改,svn diff 檢查修改的詳細資訊。5.commit 提交工作拷貝到伺服器。6.update 從伺服器更新工作拷貝...

SVN學習筆記(一)

2 svn的工作流程 3 軟體安裝 3.3 客戶端安裝 3.4 客戶端的使用 4 svn圖示集說明 5 svn忽略功能 6 svn版本回退 7 svn版本衝突 1.1 服務端 1.2 客戶端 3.1 伺服器端軟體安裝 3.2 服務端配置 3.2.1 建立專案和版本倉庫 在svn的目錄下新建乙個問價夾...