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的目錄下新建乙個問價夾...