SVN原始碼伺服器搭建-詳細教程
一、引言
筆者曾經試圖在網上搜尋一篇關於SVN原始碼伺服器搭建方面的中文技術文章,可惜,所找到的,要麼是不完整,要麼就是對筆者沒什麼幫助的文章,TortoiseSvn的幫助文件固然強大,但因為是英文,不是很適合來作為入門者使用;畢竟,TortoiseSvn是一個客戶端,伺服器端的配置也很重要。
一年前,筆者剛剛畢業,初入公司,在進行開發時,由於沒有進行軟體程式碼版本管理,導致的結果是
- 軟體一天一個版本
- Bug日益增加且隱藏很深
- 程式碼無法向前回溯
- 幾個月前修正過的Bug在幾個月後又重新出現
- ……
由於最近公司決定架設SVN原始碼伺服器,來解決以上問題,故筆者經過一段時間的摸索和使用,便有了此文。
二、學習本文先決條件
如果作為讀者的你符合以下情況,那麼本文可以對你起到一個很大的幫助作用:
- 具備基本的軟體開發知識
- 瞭解Client/Server模型
- 正在被日益更新的軟體程式碼版本所困擾
本文旨在指導讀者如何利用現有的軟體工具進行軟體程式碼版本管理工作,如果你對軟體版本控制與管理,維護與備份較為感興趣,可以閱讀此文來獲取一定的知識。
三、安裝SVN伺服器端軟體
首先,你必須下載兩款軟體包:VisualSVN Server和TortoiseSVN,兩者都是開源軟體,至於在哪裡下載,百度或谷歌之,儘量使用最新版就好,我使用的版本如下:
伺服器端:VisualSVN-Server-2.5.5.msi
客戶端:TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi
Location是你的安裝目錄,C盤或D盤都可以,Repositories是你的原始碼倉庫,也就是你SVN幫你管理程式碼放置的位置,這裡我選擇放置在D盤根目錄下,將“Use secure connection”核取方塊的勾去掉,然後在Server
Port中填寫8080(填其他埠號也可以,但是確保該埠號未被佔用),在這裡不使用安全連線的原因是,它會導致通訊速度減慢(PS:當時在公司配置時使用的secure connection,每次Checkout一次要15秒多的時間,無法忍受),然後單擊“Next”:
單擊“Finish”後,會啟動VisualSVN Server,可以看到,它的Status是:
VisualSVN Server is running
Server URL is http://motor-109133.hanslaser.com:8080/svn/
至此,伺服器端軟體安裝完畢!

四、SVN伺服器配置專案
右鍵單擊“Repositories”,選擇“Create New Repository...”

在“Repository Name”下方文字框填入“TestSvn”(作為測試用),將“Create
default structure(trunk,branches,tags)”選項勾選上,單擊OK
可以看到在Repositories樹下面,有一個TestSvn庫,這個TestSvn庫中有三個資料夾:
- branches(分支,修改特殊功能或者新功能的分支程式碼,可與主幹進行合併)
- tags(標記,設定milestone版本)
- trunk(主幹,存放當前正在編輯的程式碼工程)
開始新建使用者(使用者組管理請各位自己研究),右鍵單擊“Users”,選擇“Create
User...”
在“Create
New User”對話方塊中填寫賬號密碼,如圖所示:
可以看到Users資料夾下面有了一個使用者:
記得將Repositories倉庫的屬性修改一下,因為它預設的屬性是Everyone
Read/Write,意思是任何人都可以對該庫中的內容進行讀寫,現在我們要將其修改成Everyone No Access,然後再自己新增使用者,給予使用者讀或寫的能力,右鍵單擊“Repositories”,選擇“Properties”:
選中“Everyone”,然後勾選“No
Access”:
現在開始為TestSvn新增一個使用者,也就是剛剛新增的賬號:zhengshuo,右鍵單擊“TestSvn”,選擇“Properties...”:
單擊“Add...”,選擇Users下的zhengshuo,單擊OK
這樣使用者zhengshuo就被新增到TestSvn專案中(即目前只有zhengshuo才有對TestSvn的讀寫權利):
五、安裝SVN客戶端軟體
相關文章
- java搭建http代理伺服器詳細教程(含程式碼)JavaHTTP伺服器
- 如何快速搭建ftp伺服器(詳細教程)FTP伺服器
- 恆訊科技:雲伺服器搭建的詳細教程伺服器
- 阿里雲伺服器ECS搭建網站詳細教程阿里伺服器網站
- 搭建SVN伺服器伺服器
- 搬瓦工VPS搭建SS伺服器詳細簡單教程伺服器
- Nodejs快速搭建簡單的HTTP伺服器詳細教程。NodeJSHTTP伺服器
- linux伺服器安裝svn超詳細介紹Linux伺服器
- VS Code使用Git視覺化管理原始碼詳細教程Git視覺化原始碼
- Ubuntu環境搭建svn伺服器Ubuntu伺服器
- 新手搭建雲伺服器詳細過程伺服器
- MyBatis詳細原始碼解析(上篇)MyBatis原始碼
- 【原始碼解析】- ArrayList原始碼解析,絕對詳細原始碼
- Nginx的搭建和最佳化詳細教程。Nginx
- SVN原始碼版本控制系統平臺的搭建及使用原始碼
- Windows 10搭建獨立SVN伺服器Windows伺服器
- 如何使用Node.js核心快速搭建伺服器 【完整教程原始碼】Node.js伺服器原始碼
- 超詳細的Eureka原始碼解析原始碼
- 超詳細的Ribbon原始碼解析原始碼
- 超詳細 Hexo + GitHub Page 搭建技術 blog 教程HexoGithub
- 【詳細教程】Linux安裝redis並搭建叢集LinuxRedis
- PHP直播平臺原始碼搭建教程PHP原始碼
- Centos7下安裝nginx原始碼包超詳細教程(小白篇)!CentOSNginx原始碼
- ARB鏈智慧合約系統開發|APP搭建|案例詳細|原始碼出售APP原始碼
- 關於MetaForce佛薩奇2.0系統開發原始碼搭建(功能詳細)原始碼
- Spark Shuffle機制詳細原始碼解析Spark原始碼
- Vuex詳細教程Vue
- Vagrant詳細教程
- Nginx 詳細教程Nginx
- Emacs詳細教程Mac
- 用SVN遷移 程式碼並在pycharm中進行程式碼提交的詳細配置PyCharm行程
- h5牛牛原始碼出售搭建教程H5原始碼
- 教你搭建一套自己的SVN伺服器伺服器
- linux shell 指令碼語言教程(超詳細!)Linux指令碼
- 如何輕鬆建站?站點一鍵部署搭建(詳細教程)
- 超詳細的 Bert 文字分類原始碼解讀 | 附原始碼文字分類原始碼
- Laravel 原始碼方法執行類詳細分析Laravel原始碼
- Bootstrap的Model原始碼詳細註釋 (轉)boot原始碼
- 詳細解析ORB-SLAM3的原始碼ORBSLAM原始碼